如何将.dat文件加载到hive或hdfs?

时间:2017-04-04 06:21:50

标签: hadoop hive hdfs apache-pig

如何将.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

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