Hive SQL を介して Tableau を Elastic Search に接続する方法について説明している投稿を見つけました。ハイブに詳しくないので、Spark SQL 経由で Elastic Search に接続する方法があるかどうか疑問に思っていました。
ありがとう。
Hive SQL を介して Tableau を Elastic Search に接続する方法について説明している投稿を見つけました。ハイブに詳しくないので、Spark SQL 経由で Elastic Search に接続する方法があるかどうか疑問に思っていました。
ありがとう。
@NicholasY 数回の試行の後、解決しました。私が取った2つのステップ: -
新しい問題:ハイブに外部テーブルを作成しました。データのクエリも実行できます。サービスとして hive-metastore を開始します。ただし、このリンク で述べたように、Spark SQL のハイブにテーブルが表示されません。Tableau と Spark Sql の接続は、Hive メタストアからのテーブルが表示されない限り役に立ちません!! テーブルを表示するとき。spark sql では (spark-sql シェルと同時にサービスとして実行されているハイブ メタストアを介して)、完了時間も与えるジョブを実行しますが、現在はテーブル名です。localhost:4040 で監視したところ、入力と出力のサイズが 0.0 になっていることがわかりました。Tableau から spark sql への接続が確立された後、テーブルが表示されないのは、spark sql のハイブからテーブルを取得できないと思います。
編集 ハイブとスパークSQLの両方で、メタストアをダービーからmysqlに変更しました。
@busybug91、
適切なドライバーがここにあります。これで試してみてください。あなたの問題を解決することができます。
私はそうしようとしているので、何か警告するのを手伝うことができるかもしれません。
まず、Hive と thrift サーバー (ver 0.13) を使用して Spark SQL バージョンをコンパイルします。
export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m"
mvn -Pyarn -Phadoop-2.4 -Dhadoop.version=2.4.0 -Phive -Phive-thriftserver -DskipTests clean package
Hive で動作し、それを spark/conf フォルダーにコピーするには、hive-site.xml を適切に構成する必要があります。
次に、elasticsearch-hadoop jar パスを使用して $CLASSPATH を設定する必要があります。
気をつけて !Spark SQL 1.2.0 は、elasticsearch-hadoop-2.0.x では機能しません。ここで入手できるelasticsearch-hadoop-2.1.0-Beta4またはBUILD-SNAPSHOTを使用する必要があります。
終了するには、thriftserver を次のように実行する必要があります。
./start-thriftserver.sh --master spark://master:7077 --driver-class-path $CLASSPATH --jars /root/spark-sql/spark-1.2.0/lib/elasticsearch-hadoop-2.1.0.Beta4.jar --hiveconf hive.server2.thrift.bind.host 0.0.0.0 --hiveconf hive.server2.thrift.port 10000
それは私にとっては機能しますが、小さな docType ( 5000 行 ) でのみ機能し、データコロケーションは機能していないようです。ryrobesが Hadoop に対して行ったように、 elasticsearch -hadoop.jar を各 Spark ワーカーに移動するソリューションを探しています。
Elasticsearch へのアクセスを見つける方法を見つけた場合は、お知らせください ;)
HTH、