Phoenix常见问题

2020-10-29 10:14:10 浏览数 (1)

查找有关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

0 人点赞