2017-11-21 9 views
0

다음과 같이 지금은 텍스트 파일을 가지고, 내가 열 가족과 같은 데이터 customer_table라는 테이블을 고려해Apache Pig를 Hbase 테이블에 사용하여 데이터를로드하는 동안 행의 csv 또는 텍스트 파일에 데이터가없는 (공백 만있는) 열을 제외하는 방법은 무엇입니까?

custno,firstname,lastname,age,profession

(이 열 이름입니다 텍스트 또는 CSV 파일에 존재하지 않는)

1,John,Wright,54,Coach 
2,Luke,,20,Student 
3,Mike,Jordan,26,  
4,William,Jones,21,Teacher 

두 번째 행과 세 번째 행에는 열의 성 및 직업에 대한 값이 없습니다.

지금 내가 혼자 특정 행에 대한 (데이터 또는 유일한 공백이없는 경우)
STORE variable INTO 'hbase://customer_table' USING org.apache.pig.backend.hadoop.hbase.HBaseStorage() 

그 열을 제외 할. 이것이 어떻게 할 수 있는지 알려주십시오.

답변

0

foreach ... generate 문에 중첩 된 biconditionals을 사용할 수 있습니다. 또 다른 옵션은 UDF를 사용하는 것입니다.

어떤 식 으로든 스키마를 잃어 버리므로 필드에 이름이 없으며 값이 돼지에서 bytearrays가됩니다. 나는 개인적으로 hbase에 그러한 행을 쓰려고 시도하지 않았다. 따라서 아무 생각, 그들이 어떻게 생겼는지, 어떻게 접근 할 수 있겠는가. 이런 일을할만한 이유가 있기를 바랍니다.