在phoenix中创建异步全局索引

dluptydi  于 2021-06-09  发布在  Hbase
关注(0)|答案(0)|浏览(322)

我在创建以下异步索引时遇到问题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成功,索引表也有新行。
Phoenix版本:4.7.0.2.5.0.0-1245
hbase版本:1.1.2
异常的原因是什么?有什么方法可以修复它?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题