問題タブ [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 投票する
2 に答える
1038 参照

hadoop - ParquetStorer を使用して整数データを格納できない

私は非常に奇妙な問題に直面しています。Pig を使用して複数列のデータ処理を行っています。Pig は、HCatalogLoader を使用して Pig スクリプトにデータをロードします。列には、複数の整数データ、文字列データ、および倍精度データが含まれます。整数型の列の 1 つ (C1 など) は、ParquetStorer を使用して保存できません。他の整数列は問題ありません。C1 列のストレージのみが失敗します。

以下はエラーです:

ParquetStorer を使用してデータを格納するエイリアスについて説明しました。列 C1 は int 型です。それでも、ParquetStorer はデータが文字列型であると不平を言い、Number への型キャストに失敗します。

どんな助けでも感謝します。

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

apache - リフレクションを使用して pojo を寄木細工のファイルに書き込む

やあ 私が持っている Pojos で parquest を書くための API を探しています。リフレクションを使用して avro スキーマを生成し、AvroSchemaConverter を使用して寄木細工のスキーマを作成することができました。また、Pojos を GenericRecords (avro) に変換する方法を見つけることができません。それ以外の場合は、AvroParquetWriter を使用して Pojos を寄木細工のファイルに書き出すことができたはずです。助言がありますか ?

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

import - Sqoop import Parquet java.lang.NoClassDefFoundError: org/kitesdk/data/mapreduce/DatasetKeyOutputFormat エラー

私はgitハブからsqoopプロジェクトを複製し、antを使用してbuild.xmlを使用してWindows 7でビルドし、sqoop-1.4.6-SNAPSHOT.jarを作成し/usr/lib/sqoopてcdh5環境にデプロイしましたが、sqoopインポートコマンドを実行すると、次のようになりますスタック トレースのエラー:

私は何か間違ったことをしていますか?プロジェクトのビルドに Windows を使用していますが、jar を追加する必要がありますか?

  1. すべての kite sdk jar を sqoop/lib にデプロイしました。
  2. hadoop_classpath に kite SDK を追加しました。
0 投票する
2 に答える
25829 参照

indexing - 寄木細工のインデックス

Parquet テーブルで高速範囲クエリを実行できるようにしたいと考えています。返されるデータの量は合計サイズに比べて非常に小さいですが、フル カラム スキャンを実行する必要があるため、私のユース ケースには遅すぎます。

インデックスを使用するとこの問題が解決され、これは Parquet 2.0 で追加される予定であると読みました。ただし、これに関する他の情報を見つけることができないため、そうではなかったと推測しています。データがソートされている場合、(複数列の) インデックスの追加を妨げる根本的な障害があるとは思いません。私の場合はそうです。

私の質問は、いつインデックスが Parquet に追加されるのですか? また、そのための高レベルの設計はどのようなものですか? 正しいパーティションを示すインデックスがあれば、私はすでに満足していると思います。

敬具、

シェルド。

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

hadoop - 現在のアーキテクチャで Parquet を使用するにはどうすればよいですか?

私の現在のシステムはこのように設計されています。

ログ パーサーは、TSV 形式で 5 分ごとに生ログを解析し、HDFS に出力します。HDFS の TSV ファイルから Hive テーブルを作成しました。

いくつかのベンチマークから、Parquet は最大 30 ~ 40% のスペース使用量を節約できることがわかりました。また、Hive 0.13 以降、Parquet ファイルから Hive テーブルを作成できることもわかりました。TSV を Parquet ファイルに変換できるかどうかを知りたいです。

どんな提案でも大歓迎です。

0 投票する
5 に答える
27073 参照

scala - 寄木細工のファイルをSparkで多くのパーティションに分割する方法は?

だから私はSparkで(SQLのものを使って)読んでいる寄木細工のファイルを1つだけ持っていて、それを100個のパーティションで処理したいと思っています。spark.default.parallelism100 に設定してみました。また、寄木細工の圧縮を (gzip から) なしに変更しようとしました。何をしても、spark ジョブの最初のステージには 1 つのパーティションしかありません (シャッフルが発生すると、100 に再パーティション化され、その後明らかにはるかに高速になります)。

現在、いくつかのソース(以下のような)によると、寄木細工は(gzipを使用している場合でも)分割可能である必要があるため、私は非常に混乱しており、アドバイスが欲しい.

https://www.safaribooksonline.com/library/view/hadoop-application-architectures/9781491910313/ch01.html

私はspark 1.0.0を使用していますが、どうやらデフォルト値spark.sql.shuffle.partitionsは200なので、そうではありません。実際、並列処理のすべてのデフォルトは 1 よりもはるかに大きいため、何が起こっているのかわかりません。

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

scala - Scala オブジェクトを Parquet に書き込む最良の方法は何ですか?

JSON から作成された Scala ケース クラスがあります。たとえば、ケース クラス Person(age:Int, name:String) です。JSON を Parquet に書き込めないことはわかっています。

ケース クラスを直接 Parquet に記述できますか?それとも、Scrooge/Thrift や Avro などの別の形式を使用する必要がありますか? これにはどの API を使用するのが最適ですか?

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

mapreduce - hadoop mapreduce で列の寄木細工をフィルタリングする方法

データを寄木細工形式として hdfs に保存します。このデータを実行するために mapred を記述します success 、およびマップ内の列入力をフィルター処理したい、

hadoop mapreduce で列の寄木細工をフィルタリングする方法

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

hadoop - AvroParquetInputFormat に複数のprojectionSchemasを設定する際の問題

AvroParquetInputFormat を使用します。このユースケースでは、複数の入力ディレクトリをスキャンする必要があり、各ディレクトリには 1 つのスキーマを持つファイルがあります。AvroParquetInputFormat クラスは複数の入力スキーマを処理できないため、各クラスが AvroParquetInputFormat から継承する MyAvroParquetInputFormat1、MyAvroParquetInputFormat2 などの複数のダミー クラスを静的に作成することで回避策を作成しました。そして、ディレクトリごとに異なる MyAvroParquetInputFormat を設定し、それが機能しました (これを達成するためのよりクリーンな方法があれば教えてください)。

私の現在の問題は次のとおりです。

各ファイルには数百の列があり、メタデータに基づいて各ディレクトリの ProjectionSchema を構築し、不要なディスクとネットワーク IO を削減します。各 MyAvroParquetInputFormat クラスで静的な setRequestedProjection() メソッドを使用します。ただし、静的であるため、最後の呼び出しの ProjectionSchema はすべてのディレクトリからデータを読み取るために使用されますが、これは必要な動作ではありません。

回避策/解決策へのポインタは高く評価されます。

ありがとうございます。それでは、お元気で

MK

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

java - Hadoop map/reduce のマッパーで複数のファイルに書き込む方法は?

入力ファイルを解析し、Parquet 形式でマッパーのディスクに出力を書き込むレデューサーを使用せずにマップを削減するジョブがあります。このジョブは複数のフォルダーからファイルを入力として取得できるため (日付ごとに 1 つのフォルダー)、次のように出力をフォルダーに分割したいと考えています。

ドキュメントでMultipleOutput形式のクラスを見たのですが、reduce部分で複数のフォルダに書き込むだけでうまくいっているようです。

どういうわけか、同じディレクトリ内の複数のファイルへの書き込みは機能しますが、複数のディレクトリに書き込もうとするとすぐに例外が発生します (おそらく、一部のマッパーが同じディレクトリを同時に作成しようとしているからでしょうか?)。

参考までに、私のコードはマッパーで次のようになります。

そして、私はそのような出力フォーマットを定義します:

私が得る例外は次のとおりです。

私がやりたいことが可能かどうか知っていますか?私は何を間違っていますか?ありがとう !