問題タブ [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.
elasticsearch-hadoop - Elasticsearch:EsHadoopSerializationException へのデータの書き込み
私は ELasticsearch 5.4 と Hadoop 2.7.3 を使用しており、HDFS から Elasticsearch にデータを書き込みたいと考えています。blog.json の My データ:
blog.json を HDFS に配置します。
次に、Elasticsearch 5.4 を起動し、Java コードを記述します。
Elasticsearch フロー例外にデータのない空のインデックスを取得しました:
Elasticsearch 2.3 では動作しますが、5.4 では動作しません。コードを更新するにはどうすればよいですか?
hadoop - Elastisearch-Hadoop スパーク プログラムで一括検索を行う方法
基本的に文字列のRDDであるsparkプログラムを書いています。私がする必要があるのは、基本的に文字列ごとにクエリを作成し、エラスティック検索インデックスに基づいてクエリを実行することです。したがって、本質的にクエリは文字列で異なります。最適化できるように、elasticsearch-hadoop を使用して検索を実行したかったのです。RDDは大きくなる可能性があり、可能な最適化を探しています
たとえば、RDD は List[India, IBM Company , Netflix , Lebron James] です。これらすべての用語で More like this 検索を作成し、Index Wikipedia で検索を行い、結果を取得します。たとえば、インド、IBM、Netflix、レブロン ジェームズに対して、このようなクエリをさらに 4 つ作成し、それらのヒットを取得します。
一括検索で HTTP Rest Api 呼び出しを使用してヒットを取り戻すことができる回避策がありますが、自分で最適化を行う予定です。Spark Elastic Connector を使用してクエリを作成し、最適化された方法で検索できるかどうかを確認したかったのです。
scala - Spark ES-Hadoop プラグイン JSON データ
列が ESにproduct_attributes
書き込まれると、バックスラッシュと二重引用符でエスケープされます。
json がバックスラッシュでエスケープされないようにする方法はありますか? product_attributes の下のどのキーと値のペアが個別にインデックス化されておらず、有効な json ではないため、ES はそれを単一の文字列フィールドとして解釈しています。
product_attributes データがエスケープされているかどうかをクロスチェックするために、データフレームを S3 に書き込みました。
ES インデックス テンプレート: https://pastebin.com/e4tmATHE
spark と python を使用すると、データを ES に問題なく書き込むことができるため、ES インデックス テンプレートを使用するとよいでしょう。
そして、json4sライブラリを使用してjsonを構築し、jsonをESに書き込む別の方法を試しましたが、ここでも同じ問題に直面しています
json の準備ができたら、es.input.json
プロパティを true に設定して試してみましたが、うまくいきませんでした
メソッドも試してみsaveJsonToEs
ましたが、うまくいきません.jsonはまだエスケープされており、単一のオブジェクトとして扱われています
ありがとう