问题标签 [phoenix]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
hbase - 访问速度非常快的大数据
我面临一个问题:过程工厂的数据库。在 50 ms 的采样率下,最多有 50,000 个传感器。所有测量值至少需要存储3年,并且必须支持实时查询(即用户可以看到延迟小于1秒的历史数据)。我最近读了一篇关于时序数据库的文章,手头有很多选择:OpenTSDB、KairosDB、InfluxDB、...
我很困惑哪一个适合这个目的?任何知道这一点的人请帮助我!
更新 15.06.25
今天我运行一个基于 OpenTSDB 的测试。我使用 Virtual Box 创建了一个由 3 个 CentOS x64 虚拟机(1 个主设备,2 个从设备)组成的集群。主机配置为 8 GB RAM,核心 i5。主 VM 配置为 3 GB RAM,从属 VM 配置为 1.5 GB RAM。我编写了一个 python 程序来将数据发送到 OpenTSDB,如下所示:
我在主机上运行 python,大约 220 秒后工作完成。所以,我得到了一个平均值。每秒约 45000 条记录的速度。
更新 15.06.29
这次我只使用了 1 个 VM(5 GB RAM,3 个内核,CentOS x64,伪分布式 Hadoop)。我在 Windows 7 主机上运行 2 个 python 进程,将 2 半数据发送到 OpenTSDB。平均 放置数据的速度约为每秒 100,000 条记录。
hbase - Phoenix Hbase:ResultSet.next() 遇到 StackOverflowError
我在遍历ResultSet
查询时看到一个奇怪的错误。我的代码是用 Java 编写的,我执行以下操作:
在调试时我发现当执行到 rs.next() 时,它会遇到某种错误并抛出 StackOverFlowError。我正在尝试进行更多调试,但如果有人知道或理解为什么会发生这种情况,请提供帮助。提前致谢。
sql - 根据列中的文本和不同表的列中的不同文本从表1中获取数据
我有两张桌子。
表格1:
表 2:
我从用户那里得到两个文本,其中 table1.col1 有一些文本(如 %text1%),同样对于 table2 col1,我得到另一个不等于 text1 的文本(如 %text2%)。
我需要从 table1 中获取一组一百条记录,其中 table2 col1 包含 text2并且Table1 col1 包含 text1。当查询下一组 100 时,我不应该得到第一组 100 中的任何记录。
以下是我编写的示例查询,但它失败了。我正在使用 Apache Phoenix,并且任何 SQL 兼容数据库中的解决方案都可以。
hadoop - HDP:无法启动 Phoenix sqlline.py
我正在使用沙盒 HDP 2.2
我做了一个 yum install phoenix (版本是 4.2)
但是当我运行这些时:
我得到了错误:
我试图运行:
但它“挂起” - 20 分钟后仍然没有响应
我的 /etc/hbase/conf/hbase-site.xml 中有这个:
hadoop - 尝试配置 Apache Phoenix 时 HBase 区域服务器关闭
我正在使用CDH 5.3.1和HBase 0.98.6-cdh5.3.1并尝试配置Apache Phoenix 4.4.0
将 phoenix-4.4.0-HBase-0.98-server.jar 文件复制到两者的 lib 目录 (/opt/cloudera/parcels/CDH-5.3.1-1.cdh5.3.1.p0.5/lib/hbase/lib)主服务器和区域服务器
从 Cloudera Manager 重新启动 HBase 服务。
当我检查 HBase 实例时,我看到区域服务器已关闭,并且我在日志文件中看不到任何问题。
我什至尝试从 phoenix 文件夹中复制所有 jar,但仍然面临同样的问题。
我什至尝试过配置 Phoenix 4.3.0 和 4.1.0 但仍然没有运气。
有人可以指出我还需要配置什么或解决此问题需要做的其他事情吗
hadoop - Phoenix-Spark API 是否有类似 HBase API 的 checkAndPut 方法?
我正在使用 Spark 1.3、HBase 1.1 和 Phoenix 4.4。我的代码中有这个:
CREATED_DATE 在数据框中始终设置为 DateTime.now()。
如果 HBase 中已存在该行,我不希望更新该字段,但其他字段中有更新。
我可以使用 HBase 的 checkAndPut 来实现它:放置所有字段并在 created_date 字段上使用 checkAndPut。
但是如何使用 Phoenix-Spark API 做到这一点?我应该改用 HBase API 吗?
apache-spark - Spark 上的 Apache Phoenix - 无法插入到 Phoenix HBase 表/需要最佳实践建议
我有一个结构如下的表。
trans_count
Spark 侦听来自 Kafka 的事件并进行 10 秒的分组,并且必须插入到 Phoenix hbase 表中。
10 秒后,我必须首先检查 start_time、end_time 组合是否在表中。如果它在那里,我们必须采用现有计数并添加新计数并再次插入。
如果上述语句中没有更新插入行,则只需更新插入数据。
在 Apache Storm 中,我能够在 configure 方法中创建一个 Phoenix Connection 对象,并且能够每 10 秒使用一次相同的连接到 UPSERT。
在 Spark 中,我无法创建连接对象并为 RDD 中的每个对象使用相同的对象。我从 spark 的输出将是一个 JavaDStream>,其中 start_time、end_time、count 都是 Map 中的键。
我最终为 RDD 的每次迭代创建了一个连接对象,我觉得这不是正确的方法。我读过 Phoenix 连接是轻量级的,但是为每个 RDD 创建一个连接对象似乎不是正确的方法。
我阅读了一些有关相关内容的博客,但无法做到这一点。请帮忙。
注意:该应用程序是在 JAVA 中构建的。
hadoop - 使用 MapReduce 将具有列族的数据插入使用 Apache Phoenix 的 HBase
我是 HBase 和 Phoenix 的新手。我一直在尝试使用使用 Apache Phoenix 的 MapReduce 将数据插入到多个列族中的 HBase 表中。
这是我由 Phoenix 创建的 HBase 表
从上面的 Phoenix create table 语法来看,该表看起来就像下面这样
对,如您所见,每个工件都有许多由列族、关联和限定符 artifact_id 标识的相关工件。
回到我的问题,我想编写一个读取数据并填充到我上面提到的表中的 mapreduce 作业。
这就是我所拥有的
映射器
缺陷可写(要写入表中)
数据导入器
该代码当前将数据插入到 PLANNING_FOLDER_ID、ARTIFACT_ID、CATEGORY、ROOT_CAUSE 列中。我不知道如何插入 ASSOCIATION:ARTIFACT_ID 因为某些工件可能有多个相关工件。我目前的解决方案是基于https://phoenix.apache.org/phoenix_mr.html。
谁能帮我这个?由于我是 hbase 的新手,也许你们可以评论我当前的表格设计?我想到了分离表(关联的另一个表:artifact_id)并在查询时加入它们。但是,我会招致表演。
如果有不清楚的地方希望我澄清,请在下面评论:)
提前致谢
佩拉纳
phoenix - 日期数据类型未在凤凰中显示 HH:mm:ss
我目前在我的数据库中有一行包含 2 个日期数据类型列。当我进行选择并取回这些列时,我只能看到“YYYY-MM-DD”,我想知道是否也可以看到“HH:mm:ss”。我还应该提到数据在那里,因为我可以在进行选择时在分钟级别进行过滤。
apache-spark - 使用 Phoenix-Spark API 添加 HBase 时间戳
如何使用类似于 HBase API 的 Phoenix-Spark 添加 HBase 时间戳:
这是我的代码: