問題タブ [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 を整数にキャストする

列ファミリー f1 と ID を行キーとして、NAME を別の列フィールドとして持つ Hbase テーブル EMP を作成しました。

このHbaseテーブルの上にPhoenix Viewを作成すると

CREATE view EMP(ID INTEGER NOT NULL PRIMARY KEY, NAME VARCHAR(40)); 選択状態を実行すると、Phoenix ビューに ID 列の負の値が表示されます。Hbase の実際の値は 101,102,103 のようなものですが、Phoenix で「select id from EMP」を実行すると、-101 -102 -103 の値が得られます。

ID のデータ型を Integer から Unassigned_Int に変更して、ID の実際の値を完全に変更しようとしました。32423 23429 12432 となります。

Phoenix で主キーを varchar ではなく数値として定義する方法についてアドバイスをお願いします。

Phoenix でキャスト関数も使用しようとしましたが、その関数は 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: クラス 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 DEBUG [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


フェニックス接続を作成するために使用しているコード:

String zkQuorum = "HbaseMasterNode:2222";


基本的な Hbase Java API の助けを借りて接続できますが、この問題は、HBase に Phoenix ドライバーを使用しようとした場合にのみ直面しています。

0 投票する
2 に答える
8448 参照

hbase - HBase データを失わずに Apache Phoenix の列のデータ型を変更するにはどうすればよいですか?

大量のデータが含まれる既存のテーブルが多数ある HBase インストールがあります (これを削除したくありません)。最近、Apache Phoenix を使用して HBase データを SQL に似た構文でクエリできることに気付きましたが、これまでのところ素晴らしいです。ただし、さまざまなデータ型と、それらが HBase に格納した Java 型にどのようにマッピングされるかについては、まだ完全に理解していないため、時々誤解することがあります。保存した HBase 列がある場合

Phoenix 列を誤って varchar として作成してしまいました。すべてのデータを失うことなく Phoenix 列を変更するにはどうすればよいですか? 私が行った場合

その後

そしてその後

すべての HBase データが、基になる "mycolumn" 列から消去されます! これを回避する最善の方法は何ですか?

パラメータの設定について読みました

これはまさに私が望むもののように聞こえますが、実際にこれをどこに設定したのかわかりません。これを false に設定するために Phoenix にログオンしたときに Squirrel で発行できるコマンドはありますか? それとも環境変数ですか?

助けてくれてありがとう!

編集1

Phoenix で各型の列を含むダミー テーブルを作成し、それを system.catalog テーブルで検索して、各データ型を表す数値を取得しました。次に、次のコマンドを使用しました

mycolumn のタイプを 10 進数に変更します。ただし、mytable にクエリを実行すると、mycolumn の型は unsigned_long のままです。この値を更新した後、HBase を再起動する必要があるのでしょうか?

ご参考までに:

編集2

SYSTEM.CATALOG および SYSTEM.STATS からテーブルのすべてのエントリを削除することで、基になる HBase テーブルに触れることなく、Phoenix からテーブルを取り除くことができるようです。その後、目的の列タイプでテーブルを再作成できます。これが私の HBase テーブルに恐ろしい悪影響を与えるかどうかはまだわかりません!

0 投票する
2 に答える
4135 参照

java - Apache Phoenix JDBC 接続 Zookeeper エラー

3 つの Zookeeper ノードを持つ 5 ノードの Cloudera クラスターに Phoenix をインストールしました。

以下の JDBC プログラムから基本的な SQL コマンドを実行しようとしていますが、zookeeper エラーが発生します。誰でもアドバイスできますか?

例外:

0 投票する
1 に答える
1586 参照

java - Phoenix - 現在接続がありません - HRegion.mutateRowsWithLocks : java.lang.NoSuchMethodError

localhost で Phoenix を実行しようとしましたが、エラーを解決できません (mutateRowsWithLocks の場所が見つかりません)。HBaseでSQLクエリを実行したいので、誰かが私を助けてくれることを願っています:

「!list」を実行すると、

「create table test (field bigint);」を実行する 私は持っている:

jars phoenix-server を hbase/lib にコピーしました。また、phoenix-core jar も試しました。(もちろん、HBase を再実行します)

私の環境は Hadoop 2.6 hbase 0.98.10 Phoenix 4.3.0 です。

前もって感謝します!