生活随笔
收集整理的這篇文章主要介紹了
大数据文件分隔符
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
背景:DSG數(shù)據(jù)同步到hadoop平臺(tái),發(fā)現(xiàn)部分表中數(shù)據(jù)存在豎線分隔符(“|”),導(dǎo)致hadoop平臺(tái)數(shù)據(jù)不準(zhǔn)確。
為解決此問(wèn)題并避免出現(xiàn)內(nèi)容帶分隔符的可能情況,商定分隔符修改為CtrlA(ascii是0x01 ) ,經(jīng)測(cè)試在HDFS可用。
分隔符為CtrlA(ascii是0x01 ) 在vi的編輯模式下 Ctrl+V Ctrl+A 。windows cmd模式下 Ctrl+Q Ctrl+A
Hive默認(rèn)用
‘\001’(Ctrl+A)作為字段(Fields)分隔符,
‘\002’(Ctrl+B)作為集合元素(Collections Items)分隔符,
‘\003’作為Map類型Key/Values分隔符。
所以shell中的腳本
FIELDS TERMINATED BY ‘’ 可以不指定
#建立 OFFER日表 fields terminated by '|' 要修改,默認(rèn)的是'\001'(Ctrl+A),也可以不指定;
v_create_sql="use ztedb;
drop table if exists OFFER_${day_id};
CREATE TABLE OFFER_${day_id}
(
OFFER_ID BIGINT,
ATOM_ACTION_ID BIGINT,
PARTY_ID BIGINT,
OFFER_SPEC_ID BIGINT,
OFFER_NBR STRING,
AREA_ID INT,
MKT_ACTIVITY_ID BIGINT,
START_DT DATE,
END_DT DATE,
BSS_START_DT DATE,
BSS_END_DT DATE,
BILL_START_DT DATE,
BILL_END_DT DATE,
STATUS_CD STRING,
STATUS_DT DATE,
CREATE_DT DATE,
VERSION DATE,
EXT_PROD_OFFER_INST_ID STRING,
EXT_SYSTEM STRING) ROW FORMAT DELIMITED
FIELDS TERMINATED BY ''
STORED AS TEXTFILE;"
總結(jié)
以上是生活随笔為你收集整理的大数据文件分隔符的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。