我正在装猪的文件中加上分隔符为' ^ A ^ E ^ A'
我尝试了以下命令,但它无效。
data = LOAD 'test.txt' USING PigStorage('\u0001\u0005\u0001') AS (user, time, query);
我错过了什么吗?或者有没有办法直接使用PigStorage指定上面的分隔符?如何?
感谢。
答案 0 :(得分:2)
将数据加载为行:chararray
替换' \ u0001 \ u0005 \ u0001'用' |'或','
使用' |'拆分生成的行。或','生成所需的列。
{
"tab": "Add white space",
"name": "whitespace_Mode",
"label": "White space mode",
"type": "list",
"Value": "strict",
"values": [
"strict",
"preserve"
]
}
答案 1 :(得分:0)
我相信PigStorage不会支持多个ctrl分隔符,你可能必须编写UDF来实现这一点。
答案 2 :(得分:0)
File_Data = LOAD'thedata.csv'U使用TextLoader(); Cleansing_Data = FOREACH File_Data GENERATE REPLACE($ 0,'\ u0001 | \ u0005 \ | \ u0001',''); STORE Cleansing_Data INTO'tmp / Cleansing_Data.txt'使用PigStorage(); Final_Data = LOAD'tmp / Cleansing_Data.txt'使用PigStorage(',')AS(用户,时间,查询);