2013-09-20 2 views
1

, когда я пытаюсь скопировать данные из hdfs в hbase uisng pig с более чем двумя столбцами (или полями) во входном файле. Я получаю ошибку. Подробный пример:передача данных из hdfs в hbase с помощью свиньи

файл в HDFS: /home/1.txt

1 2 3 4 
5 6 7 8 

Hbase Таблица с двумя семействами столбцов: создать 'table1', 'P', команды 'S'

Pig:

A= load '/home/1.txt' using PigStorage('\t') as (one:chararray,two:chararray,three:chararray,four:chararray); 

STORE A INTO 'hbase://table1' USING org.apache.pig.backend.hadoop.hbase.HBaseStorage('P:one,P:two,S:three,S:four'); 

журналы ошибок:

********* 
013-09-20 15:42:25,314 [main] ERROR org.apache.pig.tools.pigstats.PigStats - ERROR: Index: 1, Size: 1 
2013-09-20 15:42:25,315 [main] ERROR org.apache.pig.tools.pigstats.PigStatsUtil - 1 map reduce job(s) failed! 
2013-09-20 15:42:25,315 [main] INFO org.apache.pig.tools.pigstats.PigStats - Script Statistics: 

HadoopVersion PigVersion  UserId StartedAt  FinishedAt  Features 
0.20.2-cdh3u6 0.8.1-cdh3u6 hdfs 2013-09-20 15:41:45  2013-09-20 15:42:25  UNKNOWN 

Failed! 

Failed Jobs: 
JobId Alias Feature Message Outputs 
job_201309051922_0192 A  MAP_ONLY  Message: Job failed! Error - NA hbase://hh2, 

Input(s): 
Failed to read data from "/home/1.txt" 

Output(s): 
Failed to produce result in "hbase://hh2" 

Counters: 
Total records written : 0 
Total bytes written : 0 
Spillable Memory Manager spill count : 0 
Total bags proactively spilled: 0 
Total records proactively spilled: 0 

Job DAG: 
job_201309051922_0192 


2013-09-20 15:42:25,315 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - Failed! 
2013-09-20 15:42:25,352 [main] ERROR org.apache.pig.tools.grunt.GruntParser - ERROR 2999: Unexpected internal error. Index: 1, Size: 1 


********* 

Но когда я пытаюсь копировать только два поля, он отлично работает. ниже код:

A= load '/home/1.txt' using PigStorage('\t') as (one:chararray,two:chararray); 

STORE A INTO 'hbase://table1' USING org.apache.pig.backend.hadoop.hbase.HBaseStorage('P:one,P:two,S:three,S:four'); 



[[email protected] ~]$ hadoop version 
Hadoop 0.20.2-cdh3u6 
Hbase version : Version 0.90.6-cdh3u6 
Pig version: Apache Pig version 0.8.1-cdh3u6 (rexported) 
+0

над входным файлом 1.txt разделяется вкладкой. – sunny

+0

1 2 3 4 ::::: эти вкладки разделены. – sunny

+0

Попробуйте 'A = загрузить '/home/1.txt' с помощью PigStorage ('\ t')' и 'DUMP A', чтобы увидеть, действительно ли в данных есть 4 столбца. –

ответ

0

A = НАГРУЗКИ '/home/1.txt' С ИСПОЛЬЗОВАНИЕМ PigStorage (''), как (ID: междунар, имя: chararray, город: chararray);

+0

Пожалуйста, добавьте больше контекста. И прочитайте [Как ответить] (http://stackoverflow.com/help/how-to-answer) – AgataB

Смежные вопросы