問題タブ [parquet]
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.
hadoop - Parquet API にはキーの概念がありませんか?
わかりましたので、spark を介して寄木細工のファイルにキーを書き込むことができないという例外を取得した後、API を調べたところ、これだけが見つかりました。
(私の仮定は間違っている可能性があります= D、どこかに別のAPIがあるかもしれません。)
わかりましたこれは、コンテナファイルから具体化されているデータを投影/制限できるため、いくつかの歪んだ意味があります。ただし、念のため。Parquet ファイルには、シーケンス ファイルの「キー」値の概念がありませんよね?
これは少し奇妙だと思います。Hadoop インフラストラクチャは、シーケンス ファイルにキーがある可能性があるという事実に基づいて構築されています。そして、このキーは、局所性のためにデータをブロックに分割するために自由に使用されると思います(HDFSレベルのcではありません)?Spark には、リダクションや結合などを行うコードと連携する API 呼び出しが多数あります。具体化されたオブジェクトの本体からキーをマップするために、追加の手順を実行する必要があります。変。
では、寄木細工の世界でキーが一流の市民ではない理由はありますか?
json - JSON オブジェクトのファイルを Parquet ファイルに変換する
動機: データを Apache Drill にロードしたい。Drill が JSON 入力を処理できることは理解していますが、それが Parquet データでどのように機能するかを確認したいと考えています。
最初にデータを Hive などにロードしてから、Parquet コネクタの 1 つを使用して出力ファイルを生成することなく、これを行う方法はありますか?
hadoop - Pig は自身の中間データを読み取ることができません
まず最初に、クラスターに従って Apache Pig バージョン 0.11.0-cdh4.3.0 (再エクスポート) を実行しています。ただし、私のビルドでは 0.11.0-cdh4.5.0 を使用していますが、これは賢明な決定ではありませんが、両方とも Pig v0.11.0 であるため、ここで発生している問題とは関係ないと思います
構造的に次のようなスクリプトがあります (両方のカスタム udf が DataByteArray 型を返します。これは有効な Pig 型であることがわかります)。
Pig はこれを 2 つの mapreduce ジョブに分割します。CubeDimensions が最初のジョブで発生するか、2 番目で発生するかはわかりませんが、最初のジョブの削減段階で発生すると思われます。
したがって、2 番目のジョブのマッピング ステージでは、中間データを読み取るだけで、次のことが起こります。
「予期しないデータ型 49 がストリームに見つかりました。」@ org.apache.pig.data.BinInterSedes:422
番号が 48 と 49 の両方であり、BinInterSedes クラスにはどちらも存在しないことがわかりました。
しかし、これは豚自身の中間出力であるため、どこで問題が発生した可能性があるのか よくわかりません。私のカスタム UDF はどちらも有効な型を返します。Pig は、認識している型のみを使用して確実に保存することを期待しています。
どんな助けでも大歓迎です。
hadoop - JSON Serde ベースの Hive テーブルから Parquet テーブルにデータをロードする際の問題
HIVE
を使用して定義されたテーブルがありますJSON Serde
。Shark
ディストリビューション ( http://shark.cs.berkeley.edu/ )を使用しています。定義は次のとおりです。
このテーブルにデータを正常にロードできます。今、私はParquet
ベーステーブルを作成しましたHIVE
。
ここで、次のコマンドを使用して、JSON Serde
テーブルからテーブルにデータをロードしようとします。Parquet
insert
ステートメントは正常に完了します。しかし、Parquet
テーブル内のデータをクエリすると、すべての列にNULL
値が入力されます。同様の問題をオンラインで検索しましたが、同様の問題はまだ見当たりません。ここで何がうまくいかないのか、誰か考えている人はいますか?
ありがとう、ヴィサフ