2013-08-23 2 views

답변

0

아마도 대량로드를 참조 할 수 있습니다. 여기 링크가 있습니다. bulk loading

1

필자는이 작업을 위해 Perl 스크립트를 사용합니다.

이 내 (생성 된 펄) JSON 파일

{"c3":"c","c4":"d","c5":"tim","c2":"b","c6":"andrew","c1":"a"},"CURRENTLY20140131":{"c2":"tim2","c1":"bill2"},"THERE20140131"::{"c3":"c","c4":"d","c9":"bill2","c10":"tim2","c2":"b","c6":"andrew","c7":"bill","c5":"tim","c1":"a","c8":"tom"},"TODAY20140131":{"c2":"bill","c1":"tom"}} 

나는 여러 열이 따라와 문자열에 샤딩을 나는 키 객체를 참조하는 것을 사람 /.

use strict; 
use warnings; 
use Data::Dumper; 

use JSON::XS qw(encode_json decode_json); 
use File::Slurp qw(read_file write_file); 

my %words =(); 
my $debug = 0; 

sub ReadHash { 
    my ($filename) = @_; 
    my $json = read_file($filename, { binmode => ':raw' }); 
    %words = %{ decode_json $json }; 
} 


# Main Starts here 
ReadHash("Save.json"); 
foreach my $key (keys %words) 
    { 
     printf("put 'test', '$key',"); 
     my $cnt=0; 
     foreach my $key2 (keys %{ $words{$key} }) { 
      my $val = $words{$key}{$key2}; 
     print "," if $cnt>0; 
      printf("'cf:$key2', '$val'"); 
     ++$cnt; 
    } 
     print "\n"; 
} 

Hbase 명령을 생성하고 실행하십시오.

Alternativly - 대용량 데이터 세트를 매우 빠르게로드하는 happybase (Python)도 있습니다.

희망이 .....

이 같은 출력을 생성해야하는 데 도움이

put 'test', 'WHERE20140131','cf:c2', 'bill2','cf:c1', 'tim2' 
put 'test', 'OMAN20140131','cf:c3', 'c','cf:c4', 'd','cf:c5', 'tim','cf:c2', 'b','cf:c1', 'a','cf:c6', 'andrew' 
put 'test', 'CURRENTLY20140131','cf:c2', 'tim2','cf:c1', 'bill2'