問題タブ [elasticsearch-hadoop]
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.
serialization - ElasticSearch から Spark RDD へ
ElasticSearch にロードされたいくつかのテスト データを使用して、ElasticSearch と Spark の統合をローカル マシンでテストしていました。
コードは正常に実行され、正しい結果が esRDD.first() で正常に返されます
ただし、esRDD.collect() は例外を生成します。
これはhttp://www.elasticsearch.org/guide/en/elasticsearch/hadoop/current/spark.htmlで言及されている問題に関連していると思われる ので、それに応じてこの行を追加しました
それを機能させるために何か他のことをすることになっていますか?ありがとうございました
更新: シリアル化のセットアップの問題が解決されました。を使用して
それ以外の
このデータセットには 1000 の個別のレコードがあります
1000 を返しても問題ありませんが、
5 を返します。レコードを印刷する場合
1000 レコードが正しく印刷されます。しかし、コレクトまたはテイクを使用すると
DUPLICATED レコードを出力しますが、実際には 5 つの UNIQUE レコードしか表示されません。これは、データセット全体のランダムなサブセットのようです。最初の 5 つのレコードではありません。RDDを保存して読み返すと
esRDD2 は期待どおりに動作します。コレクト/テイクの動作について、バグなのか、わからないところがあるのでしょうか。それとも、すべてをローカルで実行しているためですか。"spark-output" ファイルの part-xxxx ファイルの数に示されているように、Spark RDD はデフォルトで 5 つのパーティションを使用しているようです。これがおそらく、esRDD.collect() と esRDD.distinct() が他の乱数ではなく、5 つの一意のレコードを返した理由です。しかし、それはまだ正しくありません。
java - ElasticSearch-Hadoop を使用してプロジェクトをビルド中にビルドが失敗する
を使用する Java プロジェクトをビルドできませんElasticSearch-Hadoop
。これは、プロジェクトをビルドしようとしたときに表示されるエラーです。
以下は、プロジェクトの POM ファイルの依存関係です。
何か不足していますか?
apache-spark - spark と elasticsearch-hadoop を使用して、さまざまな ElasticSearch クラスターから読み書きするにはどうすればよいですか?
元のタイトル: HDFS 以外に、Spark がサポートしている (推奨されている) DFS は何ですか?
いくつかの巨大なクラスターで、spark と elasticsearch (elasticsearch-hadoop ドライバーを使用) を喜んで使用しています。
時々、データのクラスター全体を取り出し、各ドキュメントを処理し、それらすべてを別の Elasticsearch (ES) クラスターに入れたいと思います (そう、データ移行も)。
現在、クラスターから RDD に ES データを読み取り、RDD からのスワッピングを伴うため、spark + elasticsearch-hadoop を使用して RDD を別のSparkContext
RDD に書き込む方法はありません。SparkContext
そのため、RDD をオブジェクト ファイルに書き込み、後でそれらを異なるs のRDD に読み戻したいと考えています。
ただし、ここで問題が発生します。spark クラスター全体で大きなファイルを共有するには、DFS (分散ファイル システム) が必要です。最も一般的なソリューションは HDFS ですが、スタックに Hadoop を導入することは避けたいと思っています。Spark がサポートする他の推奨 DFS はありますか?
以下を更新
以下の @Daniel Darabos の回答のおかげで、次の Scala コードを使用して、さまざまな ElasticSearch クラスターとの間でデータを読み書きできるようになりました。
hadoop - Elasticsearch-Hadoop は、インデックスのないデータを取得します
大量のデータを持つelasticsearchクラスターがあります。Elasticsearch からすべてのデータを Hadoop(Hive) に抽出したいと考えています。Hive外部テーブルを使用してelasticsearchからデータを抽出するためにElasticsearch-Hadoopドライバーを使用しましたが、遅すぎて常にタスクに失敗します。
私の最初の問題は、既存の Elasticsearch クラスターからすべてのデータを取得することです。2 番目の問題は、1 日または 1 時間に 1 回、HDFS の Elasticsearch にストリーミングされるすべてのデータを複製することです。
どうすればこれらを達成できますか?
前もって感謝します。
jackson - ElasticSearch へのデータのロード中に、ElasticSearch Hadoop で Jackson エラーが発生しました
versionHDFS
をElasticSearch
使用してから にデータをロードしようとしています。elasticsearch-hadoop
elasticsearch-hadoop-2.1.0.Beta3.jar
Mapr にバグがありました:
https://github.com/elastic/elasticsearch-hadoop/issues/215
は、問題を修正するはずでしたjackson
。ただし、バージョン 1.5jackson
の Hadoop ディレクトリから jarを取得しています。jackson
REGISTER
1.8 jar を登録するコマンドを追加しました。
しかし、私はまだ次のエラーが発生しています:
Hiveでも同じことを試してみましたが、同じエラーが発生しました。
join - presto または Hive (ElasticSearch-Hadoop) 用の任意の ES コネクタを使用して、ElasticSearch で JOIN 操作は可能ですか?
ElasticSearch ではインデックス間で JOIN 操作ができないことがわかっているため、Presto または Hive を使用して実現できますか。つまり、Presto または Hive 用の ElasticSearch コネクタを使用して JOIN 操作を実行できますか?
ElasticSearch-Hadoop - https://github.com/elastic/elasticsearch-hadoopを使用して、ElasticSearch で JOIN を実行できますか?
scala - Spark ランタイム エラー - ClassDefNotFound: SparkConf
Apache Spark をインストールしてビルドした後 (かなりの数の警告が表示されますが)、Spark アプリケーションのコンパイル (「sbt パッケージ」を使用) が正常に完了します。ただし、spark-submit スクリプトを使用してアプリケーションを実行しようとすると、SparkConf クラス定義が見つからないというランタイム エラーが発生します。SparkConf.scala ファイルはシステムに存在しますが、正しくビルドされていないようです。これを解決する方法についてのアイデアはありますか?
build.sbt ファイルは次のとおりです。