关于hbase:HbasePhoenix使用总结

2次阅读

共计 789 个字符,预计需要花费 2 分钟才能阅读完成。

1.Hbase 中表名和列族名是大小写敏感的

如果应用小写的表名那么必须加上双引号。表名和列族名是大写则不须要双引号
2.Phoenix 查问客户端超时

Error: Operation timed out. (state=TIM01,code=6000)
java.sql.SQLTimeoutException: Operation timed out.

解决方案: 批改 apache-phoenix-5.0.0-HBase-2.0-bin/bin/hbase-site.xml, 减少以下配置

<property>
  <name>phoenix.query.timeoutMs</name>
  <value>3600000</value> 
</property>

<property>
  <name>hbase.rpc.timeout</name>
  <value>3600000</value>
</property>

3.Phoenix 二级索引表与源数据表放弃同步的前提

数据源表的增删改查必须通过 Phoenix 命令行或者客户端能力保障二级索引表与源表同步。Phoenix 提供的 Bulk Loading 同样也能保障二级索引表与源数据表放弃同步。

4.Phoenix Bulk Loading 的应用

应用 Loading via PSQL 来导入大批量数据,要留神 Loading via PSQL 的文件必须是.csv 后缀,不然程序无奈辨认到数据文件。

5.Phoenix 表的治理保护

通过 Phoenix 创立的表, 必须指定 primary key(对应 Hbase 的 rowkey), 列最好指定列族名称, 列类型最好指定为 varchar
如果应用了 Phoenix 操作 Hbase, 删除表的话肯定要应用 Phoenix 的 api 操作, 如果间接用 Hbase 的 api 操作会导致 Phoenix 能够看见表然而操作表会报错. 通过 Phoenix 的 api 删除表同时也会删除可能存在的二级索引。

正文完
 0