在尝试将csv文件放入/加载到hbase表中时出现错误,提示“未指定列”。 我删除了命令(-Dimporttsv.columns = a,b,c)部分中的空格。
首先,我制作了一个CSV文件(station_latlon.csv),其中包含lat和lon作为列,没有标题。 然后将csv文件放入hadoop中。我通过“ hadoop fs -cat /user/root/gbfs/station_info/station_info.csv”检查了两列。 接下来,我通过“ create'station_latlon,'cf'“在hbase上创建了一个表 最后,我尝试将csv文件放入“ station_latlon”表中,但出现了错误。
我的查询如下:
bin/hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.separator=','-Dimporttsv.columns="HBASE_ROW_KEY,cf:lat,cf:lon" station_latlon /user/root/gbfs/station_latlon/station_latlon.csv
错误消息如下:
[root@localhost hbase]# bin/hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.separator=','-Dimporttsv.columns="HBASE_ROW_KEY,cf:lat,cf:lon" station_latlon /user/root/gbfs/station_latlon/station_latlon.csv
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/hadoop-2.7.7/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/root/opt/hbase/lib/client-facing-thirdparty/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
ERROR: No columns specified. Please specify with -Dimporttsv.columns=...
Usage: importtsv -Dimporttsv.columns=a,b,c <tablename> <inputdir>
...
我不知道为什么会发生此错误。有谁能解决这个问题?