Hadoop 使用pig或hive将CSV数据加载到HBase

Hadoop 使用pig或hive将CSV数据加载到HBase,hadoop,hive,hbase,apache-pig,hbasestorage,Hadoop,Hive,Hbase,Apache Pig,Hbasestorage,嗨,我已经创建了一个pig脚本,它将数据加载到hbase中。我的csv文件存储在hadoop位置/hbase_tables/zip.csv 猪字 当我执行时,它给出以下错误 清管器堆迹 请告诉我如何将csv数据文件导入hbase,或者您是否有其他解决方案。似乎您的问题在于绝对URI中的相对路径:hbase://mydata_logs. 您确定路径正确吗?表mydata\u日志可能不存在。开始:hbase外壳和类型列表。您的表mydata_logs在列表中吗?我曾经执行过相同的任务,并且有完全有效

嗨,我已经创建了一个pig脚本,它将数据加载到hbase中。我的csv文件存储在hadoop位置/hbase_tables/zip.csv

猪字

当我执行时,它给出以下错误

清管器堆迹
请告诉我如何将csv数据文件导入hbase,或者您是否有其他解决方案。

似乎您的问题在于绝对URI中的相对路径:hbase://mydata_logs.
您确定路径正确吗?

表mydata\u日志可能不存在。开始:hbase外壳和类型列表。您的表mydata_logs在列表中吗?

我曾经执行过相同的任务,并且有完全有效的解决方案。实际上,我不确定您的第三行代码中是否有逗号:

%default hbase_home `echo \$HBASE_HOME`;
%default tmp '/user/alexander/tmp/users_dump/k14'

set zookeeper.znode.parent '/hbase-unsecure';
set hbase.zookeeper.quorum 'dmp-hbase.local';

register $hbase_home/lib/zookeeper-3.4.5.jar;
register $hbase_home/hbase-0.94.20.jar;

UsersHdfs = LOAD '$tmp' using PigStorage('\t', '-schema');
store UsersHdfs into 'hbase://user_test' using
    org.apache.pig.backend.hadoop.hbase.HBaseStorage(
        'id:DEFAULT id:last_modified birth:year gender:female gender:male','-caster HBaseBinaryConverter'
);
这段代码对我很有用,也许问题在于你的hbase配置。
您可以提供您的.csv文件,我们可以详细讨论。

我不知道hbase://是否正确。但我担心的是,我正在创建名为mydata的表,所以为什么问题是查找mydata_日志。我的表名是mydata,我将mydata放在我的ppig脚本中,以及它查找mydata_日志的原因。您能从hbase shell提供列表结果吗?您需要将所需的库导入到PIG脚本中。
ERROR 2017: Internal error creating job configuration.

org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobCreationException: ERROR 2017: Internal error creating job configuration.
        at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.getJob(JobControlCompiler.java:667)
        at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.compile(JobControlCompiler.java:256)
        at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher.launchPig(MapReduceLauncher.java:147)
        at org.apache.pig.backend.hadoop.executionengine.HExecutionEngine.execute(HExecutionEngine.java:378)
        at org.apache.pig.PigServer.executeCompiledLogicalPlan(PigServer.java:1198)
        at org.apache.pig.PigServer.execute(PigServer.java:1190)
        at org.apache.pig.PigServer.access$100(PigServer.java:128)
        at org.apache.pig.PigServer$Graph.execute(PigServer.java:1517)
        at org.apache.pig.PigServer.executeBatchEx(PigServer.java:362)
        at org.apache.pig.PigServer.executeBatch(PigServer.java:329)
        at org.apache.pig.tools.grunt.GruntParser.executeBatch(GruntParser.java:112)
        at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:169)
        at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:141)
        at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:90)
        at org.apache.pig.Main.run(Main.java:510)
        at org.apache.pig.Main.main(Main.java:107)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:156)
Caused by: java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: hbase://mydata_logs
        at org.apache.hadoop.fs.Path.initialize(Path.java:148)
        at org.apache.hadoop.fs.Path.<init>(Path.java:71)
        at org.apache.hadoop.fs.Path.<init>(Path.java:45)
        at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.getJob(JobControlCompiler.java:470)
        ... 20 more
Caused by: java.net.URISyntaxException: Relative path in absolute URI: hbase://mydata_logs
        at java.net.URI.checkPath(URI.java:1804)
        at java.net.URI.<init>(URI.java:752)
        at org.apache.hadoop.fs.Path.initialize(Path.java:145)
        ... 23 more
%default hbase_home `echo \$HBASE_HOME`;
%default tmp '/user/alexander/tmp/users_dump/k14'

set zookeeper.znode.parent '/hbase-unsecure';
set hbase.zookeeper.quorum 'dmp-hbase.local';

register $hbase_home/lib/zookeeper-3.4.5.jar;
register $hbase_home/hbase-0.94.20.jar;

UsersHdfs = LOAD '$tmp' using PigStorage('\t', '-schema');
store UsersHdfs into 'hbase://user_test' using
    org.apache.pig.backend.hadoop.hbase.HBaseStorage(
        'id:DEFAULT id:last_modified birth:year gender:female gender:male','-caster HBaseBinaryConverter'
);