问题标签 [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.

0 投票
1 回答
2399 浏览

hbase - 在 Phoenix 中将 Varchar 转换为 Integer

我创建了 Hbase 表 EMP,其中列族 f1 和 ID 作为行键,NAME 作为另一个列字段。

当我在这个 Hbase 表上创建 Phoenix View 时

创建视图 EMP(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(40)); 并运行选择状态,Phoenix 视图显示 ID 列的负值。Hbase 中的实际值类似于 101,102,103 ......但是当我在 Phoenix 中运行“从 EMP 中选择 id”时,我得到的值为 -101 -102 -103

我尝试将 ID 的数据类型从 Integer 更改为 Unassigned_Int,这完全改变了 ID 的实际值。它是 32423 23429 12432

您能否建议如何将 Phoenix 中的主键定义为数值,而不是 varchar,因为我将对其执行 Sum(id) 而 Sum() 不会在 Varchar 上工作。

我也尝试在 Phoenix 中使用 Cast 函数,但该函数无法将 Varchar 转换为 Integer。

谢谢, 阿布舍克

0 投票
0 回答
2287 浏览

java - Java Apache Phoenix 4.1.0/4.2.2。无法创建连接

我无法通过 Apache phoenix 驱动程序连接到 HBase。环境信息:hadoop-2.6.0。
hbase-0.98.9-hadoop2。
phoenix-4.1.0-server-hadoop2(保留在所有区域服务器上)。
phoenix-4.1.0-client-hadoop2(使用这个jar创建jdbc连接)。


Java客户端,我收到异常

引起:org.apache.phoenix.exception.PhoenixIOException: org.apache.hadoop.hbase.DoNotRetryIOException: java.io.IOException: Class org.apache.phoenix.coprocessor.MetaDataRegionObserver 不能在...加载
引起:java .io.IOException:类 org.apache.phoenix.coprocessor.MetaDataRegionObserver 无法在 org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.testTableCoprocessorAttrs 加载...


在 HBase 主节点日志中,我收到此错误:

2015-02-02 12:48:11,550 调试 [FifoRpcScheduler.handler1-thread-14] util.FSTableDescriptors:readTableDecriptor 期间出现异常。当前表名 = SYSTEM.CATALOG org.apache.hadoop.hbase.TableInfoMissingException: hdfs://HadoopNode:9000/home/hduser/Data/hbase/data/default/SYSTEM.CATALOG 下没有表描述符文件


我用来创建凤凰连接的代码:

字符串 zkQuorum = "HbaseMasterNode:2222";


在基本 Hbase java API 的帮助下,我可以连接,但只有当我尝试将 Phoenix 驱动程序用于 HBase 时,我才会遇到这个问题。

0 投票
2 回答
4330 浏览

hbase - Apache Phoenix 与 Hbase 原生 API

我正在使用 Apache Phoenix 来简化我在 Hbase 上的数据检索/更新操作。但是我想从性能的角度知道哪一个会更好?Phoenix 或使用 Hbase Native API 的自定义包装器?还是我们有其他不影响性能的方法?

0 投票
2 回答
8448 浏览

hbase - 如何在不丢失 HBase 数据的情况下更改 Apache Phoenix 中列的数据类型?

我有一个带有一堆现有表的 HBase 安装,其中有一堆数据(我不想被删除)。我最近发现使用 Apache Phoenix 能够使用类似 SQL 的语法查询 HBase 数据,到目前为止它非常棒。但是,由于我仍然不完全熟悉各种数据类型以及它们如何映射到我存储在 HBase 中的 Java 类型,所以有时我会弄错。如果我有一个 HBase 列存储为

我不小心将我的 Phoenix 列创建为 varchar,我现在如何在不丢失所有数据的情况下更改 Phoenix 列?如果我做

接着

然后之后

我所有的 HBase 数据都从底层的“mycolumn”列中删除了!解决这个问题的最佳方法是什么?

我阅读了有关设置参数的信息

为假,这听起来正是我想要的,但我无法弄清楚我实际设置的位置。登录到 Phoenix 时,我可以在 Squirrel 中发出一些命令来将其设置为 false 吗?或者它是一个环境变量?

提前感谢您的帮助!

编辑 1

我在 Phoenix 中创建了一个虚拟表,其中包含每种类型的列,然后在 system.catalog 表中查找它以获取表示每种数据类型的数字。然后我使用了以下命令

将 mycolumn 的类型更改为小数。但是,当我查询 mytable 时,mycolumn 仍然是 unsigned_long 类型。也许在更新这个值之后我需要重新启动 HBase?

供参考:

编辑 2

通过从 SYSTEM.CATALOG 和 SYSTEM.STATS 中删除表的所有条目,似乎可以在不触及底层 HBase 表的情况下从 Phoenix 中删除表。然后可以使用所需的列类型重新创建表。还不知道这是否会对我的 HBase 表产生任何可怕的不利影响!

0 投票
1 回答
681 浏览

hbase - 带有phoenix的Hbase上哪个sql更好?

我在 Hbase 上用 phoenix 制作了两张表。

一个是 ORIGIN_LOG,另一个是 ORIGIN_LOG_INDEX。

在 ORIGIN_LOG 中,key 是 info_key。在 ORIGIN_LOG_INDEX 中,key 是 (log_t, zone)

并且我们将log_t、zone、info_key保存在ORIGIN_LOG_INDEX中,这样我们就可以通过ORIGIN_LOG_INDEX中的log_t和zone快速查找info_key。然后使用 info_key,我们可以通过 info_key 从 ORIGIN_LOG 中获取详细的日志信息,因为 info_key 是 ORIGIN_LOG 的键。

但是当我们解释下面的sql时。我们发现它需要对 ORIGIN_LOG 进行全面扫描。

如果我们只使用带有条件 log_t 和 zone 的 ORIGIN_LOG,如下所示:

我们也得到全面扫描。

那么两个sql有什么区别。以及哪个sql对性能更好。

谢谢你。

BR

0 投票
1 回答
618 浏览

java - 连接到 apache Phoenix 数据库的 log4j 警告

我在 cloudera 集群上安装了 Apache Phoenix。我正在尝试连接到数据库并运行一些简单的 SQL 命令。我的代码如下。我在本地创建一个可执行的 jar 文件并在集群上运行它。

我收到以下警告。有谁知道它们是什么。

0 投票
1 回答
234 浏览

hadoop - Phoenix 未连接到 Cloudera CDH5 发行版的 zookeeper

我在不同的系统中安装了zookeeper、hbase-master、hbase-regionserver。并根据 CDH5 指南进行配置。能够启动所有服务。在 zookeeper 节点上添加了 Phoenix-4.2.2。尝试通过 连接数据库时./sqlline localhost,出现以下错误

ERROR: Can't get master address from ZooKeeper; znode data == null

请帮忙

0 投票
2 回答
4135 浏览

java - Apache Phoenix JDBC连接zookeeper错误

我在具有 3 个 zookeeper 节点的 5 节点 Cloudera 集群上安装了 Phoenix。

我正在尝试从下面的 JDBC 程序运行一个基本的 SQL 命令,但我遇到了 zookeeper 错误。有人可以建议吗?

例外:

0 投票
1 回答
879 浏览

hbase - Phoenix - JDBC模板更新

我在通过 Spring JdbcTemplate 在 apache phoenix 中插入值时遇到问题。查询工作正常,所以我与 Phoenix 正确连接。此外,当我通过直接 JDBC 进行更新时,它也可以工作。

只有当我使用更新方法时,它才不会在数据库中产生任何影响。没有错误或警告。我的代码:

安慰:

我错过了什么?为什么它不起作用?

0 投票
1 回答
1586 浏览

java - Phoenix - 没有当前连接 - HRegion.mutateRowsWithLocks:java.lang.NoSuchMethodError

我尝试在 localhost 中运行 Phoenix,但无法解决错误(找不到 mutateRowsWithLocks 在哪里)。我很想在 HBase 上运行 SQL 查询,所以希望有人能帮助我:

通过运行“!list”,我有

通过运行“创建表测试(字段 bigint);” 我有:

我已经在 hbase/lib 中复制了 jars phoenix-server,我也尝试使用 phoenix-core jar。(当然要重新运行 HBase)

我的环境是 Hadoop 2.6 hbase 0.98.10 Phoenix 4.3.0

提前致谢!