Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将csv文件导入hbase_Java_Csv_Hadoop_Hbase - Fatal编程技术网

Java 将csv文件导入hbase

Java 将csv文件导入hbase,java,csv,hadoop,hbase,Java,Csv,Hadoop,Hbase,我想在hbase中使用csv文件填写mytable:Province。为此,我使用了以下命令: bin/hbase org.apache.hadoop.hbase.mapreduce.importtsv -Dimport.columns= HBASE_ROW_KEY,ProvinceINFO:ID, ProvinceINFO:Name Province /usr/data/province.csv 但它给了我一个错误: Exception in thread "main" java.lang.

我想在hbase中使用csv文件填写mytable:Province。为此,我使用了以下命令:

bin/hbase org.apache.hadoop.hbase.mapreduce.importtsv -Dimport.columns=
HBASE_ROW_KEY,ProvinceINFO:ID, ProvinceINFO:Name Province /usr/data/province.csv
但它给了我一个错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hbase
/mapreduce
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.mapreduce
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: org.apache.hadoop.hbase.mapreduce. Program will exit.
因此,为了解决这个问题,我做了以下工作:

export HADOOP_CLASSPATH=/Desktop/hbase/lib/hbase-client-0.95.0-hadoop2.jar:/Desktop  
/hbase/lib/hbase-common-0.95.0-hadoop2.jar:/Desktop/hbase/lib/hbase-common-0.95.0-
hadoop2-tests.jar:/Desktop/hbase/lib/hbase-examples-0.95.0-hadoop2.jar:/Desktop/hbase
/lib/hbase-hadoop2-compat-0.95.0-hadoop2.jar:/Desktop/hbase/lib/hbase-hadoop-compat-
0.95.0-hadoop2.jar:/Desktop/hbase/lib/hbase-it-0.95.0-hadoop2.jar:/Desktop/hbase
/lib/hbase-it-0.95.0-hadoop2-tests.jar:/Desktop/hbase/lib/hbase-prefix-tree-0.95.0-
hadoop2.jar:/Desktop/hbase/lib/hbase-protocol-0.95.0-hadoop2.jar:$/Desktop/hbase
/lib/hbase-server-0.95.0-hadoop2.jar:$/Desktop/hbase/lib/hbase-server-0.95.0-hadoop2-
tests.jar:/Desktop/hbase/lib/guava-12.0.1.jar:/Desktop/hbase/conf:/Desktop/hbase
/lib/zookeeper-3.4.5.
将hbase.site.xml复制到hadoop/conf

将所有hbase jar文件以及zookeeper.jar和guava.jar复制到hadoop/lib中

并设置
HADOOP\u类路径
HBASE\u路径
,如下所示:

export HADOOP_CLASSPATH=/Desktop/hbase/lib/hbase-client-0.95.0-hadoop2.jar:/Desktop  
/hbase/lib/hbase-common-0.95.0-hadoop2.jar:/Desktop/hbase/lib/hbase-common-0.95.0-
hadoop2-tests.jar:/Desktop/hbase/lib/hbase-examples-0.95.0-hadoop2.jar:/Desktop/hbase
/lib/hbase-hadoop2-compat-0.95.0-hadoop2.jar:/Desktop/hbase/lib/hbase-hadoop-compat-
0.95.0-hadoop2.jar:/Desktop/hbase/lib/hbase-it-0.95.0-hadoop2.jar:/Desktop/hbase
/lib/hbase-it-0.95.0-hadoop2-tests.jar:/Desktop/hbase/lib/hbase-prefix-tree-0.95.0-
hadoop2.jar:/Desktop/hbase/lib/hbase-protocol-0.95.0-hadoop2.jar:$/Desktop/hbase
/lib/hbase-server-0.95.0-hadoop2.jar:$/Desktop/hbase/lib/hbase-server-0.95.0-hadoop2-
tests.jar:/Desktop/hbase/lib/guava-12.0.1.jar:/Desktop/hbase/conf:/Desktop/hbase
/lib/zookeeper-3.4.5.
但这并没有改变


请指导我

类名应该是
org.apache.hadoop.hbase.mapreduce.ImportTsv
如何获取和添加?我认为zsxwing的意思是在您使用的.tnx命令中将
org.apache.hadoop.hbase.mapreduce.ImportTsv
更改为
org.apache.hadoop.hbase.mapreduce.ImportTsv
。已更正。但现在错误me:错误:未指定任何列。请使用-Dimporttsv.columns=。。。在hbase中创建表之前,如下所示:创建“省”、“省信息”