2014-06-12 3 views
0

일반 텍스트 파일이 있고 행은 '\ n'으로 구분되며 열은 인쇄 할 수없는 문자 인 '^ A'로 구분됩니다. 이 파일을 HBase에로드해야하고 필자가 원하는대로 할 수있는 importtsv 도구가 있습니다.Hbase 가져 오기^importTsv를 사용하여 구분 된 파일

내가 몇 가지 조사를했고, 지금까지 알아 낸 :

hbase org.apache.hadoop.hbase.mapreduce.ImportTsv \ 
-Dimporttsv.columns=col1,col2,col3 \ 
-Dimporttsv.skip.bad.lines=true \ 
'-Dimporttsv.separator=|' \ 
-Dmapred.job.name=job_name \ 
user_action_log \ 
/data2/result 

그러나, 나는 '-Dimporttsv.separator=|'으로 제어 A를 전달할 수있는 방법을 모른다,이 ImportTsv here의 소스 코드를 살펴했다 . 나는 더에 의해 오전

enter image description here

충분히 정통한 자바 당신의 어떤 사람이 자바 나 자바 클래스에 명령 줄에서 제어 A를 통과 할 수 있습니다 알고 궁금 이것을 그림을 의미? 당신은 $'\x01'를 사용하여 Ctrl 키-A 문자를 전달할 수 있습니다

답변

1

bash, kshzsh으로

덕분에 : POSIX sh를 들어

hbase org.apache.hadoop.hbase.mapreduce.ImportTsv \ 
    -Dimporttsv.columns=col1,col2,col3 \ 
    -Dimporttsv.skip.bad.lines=true \ 
    -Dimporttsv.separator=$'\x01' \ 
    -Dmapred.job.name=job_name \ 
    user_action_log \ 
    /data2/result 

대신 $(printf "\x01")를 사용할 수 있습니다.