在凤凰城创建异步全局索引

时间:2017-04-13 14:35:54

标签: indexing hbase phoenix

我在https://phoenix.apache.org/secondary_indexing.html#Index_Population

之后创建异步指数时遇到问题

用于创建索引的命令:

CREATE INDEX IDX_TABLE_NAME_START_TIME ON SCHEMANAME.TABLE_NAME(START_TIME) INCLUDE (END_TIME) ASYNC;

用于启动IndexTool的命令:

bin/hbase org.apache.phoenix.mapreduce.index.IndexTool --schema SCHEMANAME --data-table TABLE_NAME --index-table IDX_TABLE_NAME_START_TIME --output-path ASYNC_IDX_TABLE_NAME_START_TIME_HFILES

并获得以下异常:

Error: java.lang.RuntimeException: java.sql.SQLException: ERROR 201 (22000): Illegal data. CHAR types may only contain single byte characters (7ff9d�2Z03725157354996cc593-a)
        at org.apache.phoenix.mapreduce.index.PhoenixIndexImportMapper.map(PhoenixIndexImportMapper.java:122)
        at org.apache.phoenix.mapreduce.index.PhoenixIndexImportMapper.map(PhoenixIndexImportMapper.java:48)
        at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:146)
        at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:787)
        at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
        at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:168)

使用以下命令创建表:

CREATE TABLE SCHEMANAME.TABLE_NAME(
  ID CHAR (36) NOT NULL PRIMARY KEY,
  START_TIME DATE,
  END_TIME DATE,
  SERVICE VARCHAR
);

我也尝试在表中插入新数据 - upsert成功,索引表也有新行。

凤凰版:4.7.0.2.5.0.0-1245
Hbase版本:1.1.2

可能是异常的原因以及解决问题的方法是什么?

0 个答案:

没有答案