2017-04-04 5 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 -50 -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 
와 데이터를 확인