0

Hive SQL を介して Tableau を Elastic Search に接続する方法について説明している投稿を見つけました。ハイブに詳しくないので、Spark SQL 経由で Elastic Search に接続する方法があるかどうか疑問に思っていました。

ありがとう。

4

3 に答える 3

1

@NicholasY 数回の試行の後、解決しました。私が取った2つのステップ: -

  • 接続に適切なドライバーを使用していませんでした。私はdatastaxエンタープライズドライバーを使用していました。ただし、spark sql 用のドライバーもあります。Windows 64ビット版のドライバーを使用しました。MapR Hadoop Hive および Hortonworks Hadoop Hive ドライバーを使用しても、Apache ハイブを使用しているため機能しませんでした。
  • 適切なドライバー (DataStax から) を使用すると、ハイブ メタストアと spark-thrift-server が同じポートで実行されていることに気付きました。spark-thrift-server のポートを 10001 に変更したところ、正常に接続が確立されました。

新しい問題:ハイブに外部テーブルを作成しました。データのクエリも実行できます。サービスとして hive-metastore を開始します。ただし、このリンク で述べたように、Spark SQL のハイブにテーブルが表示されません。Tableau と Spark Sql の接続は、Hive メタストアからのテーブルが表示されない限り役に立ちません!! テーブルを表示するとき。spark sql では (spark-sql シェルと同時にサービスとして実行されているハイブ メタストアを介して)、完了時間も与えるジョブを実行しますが、現在はテーブル名です。localhost:4040 で監視したところ、入力と出力のサイズが 0.0 になっていることがわかりました。Tableau から spark sql への接続が確立された後、テーブルが表示されないのは、spark sql のハイブからテーブルを取得できないと思います。

編集 ハイブとスパークSQLの両方で、メタストアをダービーからmysqlに変更しました。

于 2015-02-27T19:17:30.710 に答える
1

@busybug91、

適切なドライバーがここにあります。これで試してみてください。あなたの問題を解決することができます。

于 2015-03-01T19:43:13.247 に答える
0

私はそうしようとしているので、何か警告するのを手伝うことができるかもしれません。

まず、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、

于 2015-02-24T17:44:53.620 に答える