如何将.dat文件加载到hive或cloudera或hdfs?
是否有必要使用pig将此格式转换为结构化格式?
如果是,是否可以有人给猪脚本将其转换为结构数据?
当我在notepad ++中打开.dat文件时,我的数据看起来像这样。
Americas¤AME ¤ZONE¤ ¤¤¤Active¤
Asia-Pacific¤APA ¤ZONE¤ ¤¤¤Active¤
Europe¤EUR ¤ZONE¤ ¤¤¤Active¤
Middle East, India and Africa¤MAI ¤ZONE¤ ¤¤¤Active¤
Unidentified¤999 ¤ZONE¤ ¤¤¤Active¤
Afghanistan¤AF ¤COUNTRY¤ ¤MAI ¤ZONE¤Active¤3
Albania¤AL ¤COUNTRY¤ ¤EUR ¤ZONE¤Active¤1
Algeria¤DZ ¤COUNTRY¤ ¤MAI ¤ZONE¤Active¤3
American Samoa¤AS ¤COUNTRY¤ ¤APA ¤ZONE¤Active¤3
Andorra¤AD ¤COUNTRY¤ ¤EUR ¤ZONE¤Active¤1
Angola¤AO ¤COUNTRY¤ ¤MAI ¤ZONE¤Active¤1
答案 0 :(得分:0)
您是否只想在hdfs中加载数据?
hadoop fs -put ./myfile.dat /home/hadoop/dir
现在您的文件位于hdfs中,您可以使用数据中的分隔符在代码中使用它。 只需用'¤'
检查数据 cat spch.dat | awk -F'¤' '{print $1,$2,$3,$4,$5}'
美洲AME ZONE
亚太APA区域 欧洲EUR ZONE
中东,印度和非洲MAI ZONE
// Pig
A = LOAD '/hadoop/dir/myfile.dat' usig PigStorage('¤') as (field1,filed2 ..);
// use the fields