查找有关Apache Phoenix及其部署的常见问题的答案。
01
Phoenix可以用于ETL用例吗?
是。Apache Phoenix用于OLTP(在线事务处理)用例,而不用于OLAP(在线分析处理)用例。虽然,您可以使用Phoenix进行实时数据提取,并将其作为主要用例。
02
Phoenix部署的典型体系结构是什么?
典型的Phoenix部署具有以下特点:
• 应用
• Phoenix Client / JDBC驱动程序
• HBase客户端
Phoenix客户端/ JDBC驱动程序本质上是一个Java库,您应该在Java代码中包括它。Phoenix使用HBase作为存储,类似于HBase使用HDFS作为存储的方式。但是,Phoenix的抽象尚未完成,例如,为了实现访问控制,您需要在包含Phoenix数据的基础HBase表上设置ACL。
03
是否有Phoenix JDBC服务器的大小调整准则?
对于Phoenix应用程序,您必须遵循与HBase相同的大小调整准则。有关Phoenix性能调整的更多信息,请访问 https://phoenix.apache.org/tuning_guide.html 。
04
我可以管理对Phoenix服务器的访问吗?
是的,您可以使用Kerberos进行身份验证。您可以使用HBase授权配置授权。
05
我可以在Phoenix表中看到各个单元的时间戳吗?这是常用的东西吗?
您可以将HBase的本机行时间戳映射到Phoenix列。这样,您可以利用HBase为存储文件上的时间范围提供的各种优化,以及Phoenix内建的各种查询优化功能。
有关更多信息,请参见https://phoenix.apache.org/rowtimestamp.html
06
如果Phoenix索引是异步构建的,并且在索引编制过程中将数据添加到表中怎么办?
Phoenix在全局索引维护期间执行本地索引以防止死锁:Phoenix还会在索引更新失败时部分地自动重建索引(PHOENIX-1112 )。
07
序列在Phoenix中如何工作?
序列是一种标准的SQL功能,可用于生成通常用于形成ID的单调递增数字。
有关更多信息,请参见https://phoenix.apache.org/sequences.html 。
08
当RegionServer发生故障时,Phoenix写入会发生什么情况?
写入具有持久性,并且持久性由提交到磁盘的WRITE(在预写日志中)定义。因此,在RegionServer故障的情况下,可以通过重播WAL来恢复写操作。“完成”写入是已从WAL刷新到HFile的写入。任何失败都将表示为异常。
09
我可以在Phoenix中进行批量数据加载吗?
是的,您可以在Phoenix中进行批量插入。有关更多信息,请参见https://phoenix.apache.org/bulk_dataload.html 。
10
我可以使用标准HBase API访问Phoenix创建的表吗?
是的,但是不建议或不支持。数据是由Phoenix编码的,因此您必须对数据进行解码才能读取。直接写入HBase表会导致Phoenix损坏。
11
我可以在现有的HBase表上映射Phoenix表吗?
是的,只要使用Phoenix数据类型。您必须使用异步索引并手动更新它们,因为Phoenix不会知道任何更新。
12
什么是路标?
有关路标的信息,请参见https://phoenix.apache.org/update_statistics.html 。
原文链接:https://docs.cloudera.com/cdp-private-cloud-base/7.1.4/phoenix-faq/topics/phoenix-faq.html