我正在使用以下 Linux 命令:
hadoop jar phoenix-4.6.0-HBase-0.98-client.jar org.apache.phoenix.mapreduce.CsvBulkLoadTool --table TT --input /tmp/text.csv
该命令运行成功,但是没有从 csv 文件中加载数据到 hbase 表中,但是数据成功加载到了索引表中(导入 csv 文件为 TT 的索引表)。
环境:</p>
HBASE 0.98.9
Hadoop 2.6.0
凤凰 4.6-hbase-0.98
案例1:索引覆盖所有列
1)
CREATE TABLE example (
my_pk bigint not null,
m.first_name varchar(50),
m.last_name varchar(50)
CONSTRAINT pk PRIMARY KEY (my_pk))
2)
CREATE INDEX index_example on example(m.last_name ASC) include (m.first_name)
or create index index_example on example(m.first_name,m.last_name)
3)
hadoop jar phoenix-4.6.0-HBase-0.98-client.jar org.apache.phoenix.mapreduce.CsvBulkLoadTool --table example --input /tmp/text1.csv --index-table INDEX_EXAMPLE
4)
select * from example
成功并拥有数据
select * from index_example
成功并拥有数据
测试用例:org.apache.phoenix.mapreduce.CsvBulkLoadToolIT.testImportWithIndex()
案例2:索引覆盖部分列
1)
CREATE TABLE example (
my_pk bigint not null,
m.first_name varchar(50),
m.last_name varchar(50)
CONSTRAINT pk PRIMARY KEY (my_pk))
2)
create index index_example on example(m.last_name ASC)
3)
hadoop jar phoenix-4.6.0-HBase-0.98-client.jar
org.apache.phoenix.mapreduce.CsvBulkLoadTool --table example --input /tmp/text1.csv --index-table INDEX_EXAMPLE
4)
select * from example
成功但没有数据
select * from index_example
成功有数据
测试用例:org.apache.phoenix.mapreduce.CsvBulkLoadToolIT.testImportOneIndexTable()