問題タブ [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.

0 投票する
3 に答える
13749 参照

scala - コマンドラインまたはスパークシェルから寄木細工のファイルのスキーム (タイプを含む) を表示する方法は?

スパークシェルを使用してフィールド名を表示する方法を決定しましたが、見苦しく、型が含まれていません

プリント:

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

hive - Spark: ハイブ クエリ

ログ ファイルがあり、最初の列は Hive テーブルのパーティションになります。

最初の列 (ここでは ? としてマーク) を選択し、パーティションで選択した列が 2 番目の選択 (*) と一致するようにクエリを作成するにはどうすればよいですか?

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

json - 複雑な寄木細工のファイルにハイブ テーブルを作成する

次のjsonコンテンツに基づいて作成した寄木細工のテーブルの上にハイブテーブルを配置しようとしています:
{"user_id":"4513","providers":[{"id":"4220","name" :"dbmvl","behaviors":{"b1":"gxybq","b2":"ntfmx"}},{"id":"4173","name":"dvjke","behaviors":{ "b1":"sizow","b2":"knuuc"}}]}

{"user_id":"3960","providers":[{"id":"1859","name":"ponsv", "behaviors":{"b1":"ahfgc","b2":"txpea"}},{"id":"103","name":"uhqqo","behaviors":{"b1":" lktyo","b2":"ituxy"}}]}

{"user_id":"567","providers":[{"id":"9622","name":"crjju","behaviors":{ "b1":"rhaqc","b2":"npnot"}},{"id":"6965","name":"fnheh","behaviors":{"b1":"eipse","b2 ":"nvxqk"}}]}"nvxqk"}}]}"nvxqk"}}]}

基本的に、spark sql を使用して json を読み取り、寄木細工のファイルを書き出しました。

生成された寄木細工ファイルの上にハイブを配置する際に問題が発生しています。これが私が持っているハイブhqlです:
create table test (mycol STRUCT<user_id:String, providers:ARRAY<STRUCT<id:String, name:String, behaviors:MAP<String, String>>>>) stored as parquet; Alter table test set location 'hdfs:///tmp/test.parquet'; 上記のステートメントは正常に実行されますが、テーブルでselect *を実行しようとするとエラーが発生します:
例外java.io.IOException:java.lang.IllegalStateExceptionで失敗しました:インデックス0の列mycol {providers=providers, user_id=user_id} に存在しません

0 投票する
6 に答える
8350 参照

hadoop - Hadoop なしの寄木細工ですか?

プロジェクトの 1 つで寄木細工を柱状ストレージとして使用したいと考えています。しかし、hadoop/hdfs ライブラリに依存したくありません。hdfsの外部で寄木細工を使用することは可能ですか? または最小依存関係は何ですか?

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

maven - Mavenレポから寄木細工を取得する

maven (1.6.0rc7) から寄木細工の最新バージョンを取得しようとしています。私は最終的にmavenとプロジェクトフォルダーが正しく設定されたと思います。プロジェクトなどに依存関係を追加しましたが、maven が jar を探しているようで、pom しかありません。

いくつかの投稿を調べたところ、jar があり、pom がない場合、またはその逆の場合に問題があるように見えますが、これが本当に問題なのか、それとも他の何かが問題なのかを判断するのに十分なほど Maven を理解していません。うまくいかない。どんな助けでも大歓迎です。(あきらめて、以前のバージョンをインストールすることもできました。これは、素敵な小さなスタンドアロンのjarファイルに入っていますが、これを理解したいと思っています!!)

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

mapreduce - Driver クラスで寄木細工のファイルを読み取る

寄木細工の入力ファイルがあります。ドライバー クラスでその入力ファイルを読み取り、何らかの処理を行ってジョブの構成を設定したいと考えています。

これについていくつかの情報を教えてください。

0 投票する
3 に答える
10283 参照

apache-spark - Spark でより効率的に Parquet ファイルを読み込む方法 (pySpark v1.2.0)

高次元の寄木細工のファイルを読み込んでいますが、数列しか必要ありません。私の現在のコードは次のようになります。

何が起こっているかについての私のメンタル モデルは、すべてのデータをロードしてから、不要な列を捨てているというものです。私は明らかに、それらのコラムを読まないことを望んでおり、寄木細工について理解していることから、それは可能であると思われます。

したがって、2 つの質問があります。

  1. 私のメンタルモデルは間違っていますか?または、spark コンパイラは、上記の例の列 a、b、および c のみを読み取るほどスマートですか?
  2. sqc.parquetFile()データをより効率的に読み込むにはどうすればよいですか?
0 投票する
1 に答える
618 参照

csv - ベスト プラクティス: 「スキーマ」/「列」を変更してデータ レコードを処理する方法

これはベスト プラクティスの質問です。

私たちのセットアップは、hdfs に (ログ) データを保存する Hadoop クラスターです。毎日 1 ファイル、csv 形式でデータを取得します。ファイルの「スキーマ」、特に列数が変更されない限り、これらのファイルに対して Hadoop で MR ジョブを実行しても問題ありません。

ただし、列が追加または削除される可能性があるという意味で、分析したいログレコードが最終的に変化するという問題に直面しています。このような状況でのベスト プラクティスを喜んで共有してくださる方がいらっしゃるかと思いました。現時点で考えられる最善の方法は、データを csv ではなく json 形式で保存することです。ただし、これにより、必要なストレージ容量が (少なくとも 2 倍に) 増加します。私たちは Apache Avro と Apache Parquet にも出会い、これについて調べ始めました。

この問題に関するアイデアやコメントは大歓迎です。

0 投票する
0 に答える
301 参照

apache-pig - 豚のスクリプトがnull可能な寄木細工のデータを読み込めません

parquet 形式のデータを持つ小さなファイルを圧縮するための Pig Script を作成しようとしています。以下の行は、小さなファイルをディレクトリにロードしてから保存しようとしています。ファイルには、null 可能な複雑なネストされた構造があり、多くの が含まれていますNULL

次のエラーが表示されます。

私の疑いは、入力ファイルの null 値が原因であるということです。誰か助けてくれませんか?

0 投票する
0 に答える
304 参照

java - KiteSDK MapReduce:寄木細工のファイルの読み込み中の EOF 例外

KitSDK DatasetKeyInputFormatを使用する Hadoop map-reduce ジョブがあります。寄木細工のファイルを読み取るように構成されています。

ジョブを実行するたびに、次の例外が発生します。

エラー: java.io.DataInputStream.readFully(DataInputStream.java:197) で java.io.EOFException が java.io.DataInputStream.readFully(DataInputStream.java:169) で parquet.hadoop.ParquetInputSplit.readArray(ParquetInputSplit.java: 304) org.apache.hadoop.io.serializer.WritableSerialization$WritableDeserializer.deserialize(WritableSerialization.java:71) で org.apache.hadoop.io.serializer で parquet.hadoop.ParquetInputSplit.readFields(ParquetInputSplit.java:263) で.WritableSerialization$WritableDeserializer.deserialize(WritableSerialization.java:42) org.apache.hadoop.mapred.MapTask.getSplitDetails(MapTask.java:372) org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:754) ) org.apache.hadoop.mapred.MapTask.run(MapTask.java:341) で org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at org.apache.hadoop .security.UserGroupInformation.doAs(UserGroupInformation.java:1671) at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158)

Hive によって作成された map-reduce ジョブによって、同じファイルを正常に読み取ることができます。つまり、正常にクエリできます。

考えられる問題を特定するために、 mapreduce のKiteSDK の例に基づいて map-reduce ジョブを作成しました。しかし、私はまだ同じ例外を受け取ります。

注: AVRO および CSV 形式は適切に機能します。