問題タブ [impala]
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.
sql - Impala や Hive には、他の SQL 構文に IN 句のようなものがありますか?
Impala または Hive には、PL/SQL のINステートメントに似たものがありますか? 私はこのようなものを探しています:
これは、2013 年の月曜日に開始したすべての従業員のリストを返します。
insert - impalaで挿入された寄木細工のファイルサイズを増やすには?
Impala ステートメント INSERT INTO PARTITION(...) SELECT * FROM は、すべてのパーティションに ~350 MB の多数の寄木細工のファイルを作成します。
「Parquet データ ファイルは 1 GB のブロック サイズを使用するため、データをどの程度細かく分割するかを決定するときは、多くのパーティションに分割された小さなファイルを多数作成するのではなく、各パーティションに 1 GB 以上のデータが含まれる粒度を見つけるようにしてください。」
Impala バージョン 1.1.1 を使用しています。
寄木細工のファイルサイズを増やす方法は?
cloudera - CDH クラスター間で寄木細工のテーブルをコピーする
寄木細工のテーブルを CDH4.5 から CDH4.3 クラスターにコピーする必要があります。
- distcp を使用して、データを含むディレクトリ (/user/hive/warehouse/mytable) をコピーしました
- ディレクトリサイズの比較
- 両方のクラスター (777 と impala:hive) で同じように見えるようにパーミッションと所有権を修正しました。
- impala-shell を開き、テーブルを作成しました
- 無効化されたメタデータ
invalidate metadata - リフレッシュされたテーブル
refresh mytable
すべて問題ありませんが、impala にはデータが表示されません。Impala の再起動も役に立ちません。コピーしたデータを表示させることはできますか?
sql - Impala を使用してソルト化された Hbase 行キーをクエリする
Hbase を使用してネットワーク イベントを保存したいと考えています。行キーはイベントのタイムスタンプになります。これにより、Hbase でホットスポットが作成されます。これを回避するために、行キーにソルト プレフィックスを追加します。これにより、行がすべてのリージョンに均等に分散されます。これまでのところ問題ありません。
しかし、Cloudera Impala を使用して、このデータを SQL でクエリしたいと考えています。塩漬けの行キーで Impala を使用することは可能ですか? または、すべての結果を取得するために * SQL クエリが必要ですか?
cloudera - Impala 1.2.1 エラー: localhost:26000 のトランスポートを開けませんでした (connect() が失敗しました: 接続が拒否されました)
impala-shell を使用して、Hive メタストアを表示し、Hive によって作成された任意のデータベースを使用し、Hive によって作成された任意のテーブルにクエリを実行できます。impala-shell でテーブルを作成しようとしたり、「メタデータの無効化」を実行しようとすると、
「エラー: localhost:26000 のトランスポートを開けませんでした (connect() が失敗しました: 接続が拒否されました)」
次の構成があります。これはマルチノード クラスタ構成です* 手動で構築されました。つまり、Cloudera Manager を使用しませんでした *
- CentOS 6
- CDH4.5
- インパラ 1.2.1
- Hive MySQL メタストア
- impalad は、データノードを持つ複数のノードで実行されています
- statestored と catalogd が impalad ノードではない単一ノードで実行されている
- /etc/default/impala で IMPALA_STATE_STORE_HOST を statestore マシンの IP を指すように変更しました
- /var/log/impala/catalogd.INFO から、このファイルに「--catalog_service_port=26000」という行があるため、カタログ サービスによって 26000 が使用されているようです。
/etc/default/impala が (IMPALA_STATE_STORE_HOST を使用して) Statestore の場所を Impalad に通知する必要があるのと同じように、1.2.1 (catalogd が導入されている場所) の場合、カタログ化された場所の追加エントリも必要かどうか疑問に思っています。推測してみて ....
どんな助けでも大歓迎です。
ありがとう、
hadoop - Syslog データのハイブ テーブル
syslog メッセージがタイムスタンプ、ホスト、プログラム名 + pid、およびメッセージの 4 つの列に分割されるように、Hive 外部テーブルを作成しようとしています。テーブルをImpalaでも使用できるようにしたいので(Regex Serdeをサポートしていません)、Regex serdeに頼らずにこれを行いたいと思います。
問題は、4 つのフィールドを持つスキーマを定義し、フィールド セパレータとして "\040" を指定すると、メッセージの最初の文字列だけになってしまうことです。たとえば、このログ行:
次のようにマッピングされます。
「...からログインしました」は切り捨てられます。
列が 4 つある場合、残りのフィールドを除外するのではなく、最後の列に配置するように Hive に指示する方法はありますか? 貪欲なオプション?
ありがとう