2017-04-04 9 views
0

.datファイルをハイブまたはclouderaまたはhdfsにロードする方法はありますか。.datファイルをハイブまたはhdfsにロードする方法は?

ブタを使用してこの形式を構造化形式に変換する必要がありますか?

もしそうなら、誰かがこれを構造データに変換するブタスクリプトを与えることができますか?

私のデータは、私は++メモ帳で.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

'.dat'はフォーマットを示していません。あなたのデータは区切られているようです。 'od -Anone -N50 -w50 -tx1a yourfile'の結果を投稿に追加してください –

答えて

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 ZONE
ヨーロッパEUR ZONE
中東、インド、アフリカMAI ZONE

// Pig 
A = LOAD '/hadoop/dir/myfile.dat' usig PigStorage('¤') as (field1,filed2 ..); 
// use the fields 
でデータを確認しました
関連する問題