プロジェクトの 1 つで寄木細工を柱状ストレージとして使用したいと考えています。しかし、hadoop/hdfs ライブラリに依存したくありません。hdfsの外部で寄木細工を使用することは可能ですか? または最小依存関係は何ですか?
6 に答える
同じ質問を調査したところ、現時点では明らかに不可能であることがわかりました。このgit issueを見つけました。これは、寄木細工を Hadoop API から分離することを提案しています。どうやらそれはまだ行われていません。
Apache Jira で、hadoop の外部で寄木細工のファイルを読み取る方法を求める問題を見つけました。執筆時点では未解決です。
編集:
問題は github で追跡されなくなりました (上記の最初のリンクは無効になっています)。私が見つけた新しい問題は、次の見出しでapache の Jiraにあります。
Hadoop に依存せずに Java で寄木細工のファイルを読み書きしやすくする
パーティーに遅れましたが、私はこれを可能にする何かに取り組んできました: https://github.com/jmd1011/parquet-readers。
これはまだ開発中ですが、これを書いてから 1 ~ 2 か月以内に最終的な実装が公開される予定です。
編集:数か月後、まだこれに取り組んでいます!開発は活発に行われており、予想よりも時間がかかっています。
Parquet にはどのような種類のデータがありますか? Parquet ファイルを読み取るために HDFS は必要ありません。それは間違いなく前提条件ではありません。Incorta では、ステージング テーブルに寄木細工のファイルを使用しています。HDFS への依存関係はありませんが、必要に応じてファイルを HDFS に保存できます。明らかに、私たち Incorta は寄木細工のファイルから直接読み取ることができますが、Apache Drill を使用して接続することもできます。hdfs:/// ではなく file:/// を接続として使用します。以下の例を参照してください。
Parquet データの読み取りまたは書き込みを行うには、ストレージ プラグインの形式定義に Parquet 形式を含める必要があります。dfs プラグインの定義には、Parquet 形式が含まれています。
{
"type" : "file",
"enabled" : true,
"connection" : "file:///",
"workspaces" : {
"json_files" : {
"location" : "/incorta/tenants/demo//drill/json/",
"writable" : false,
"defaultInputFormat" : json
}
},