2017-12-06 3 views
0

私はスパークでアテナを使用する必要がなく、JDBCドライバを使用した場合、スパークはPreparedStatementを使用していますし、それは私に例外を与える 「com.amazonaws.athena.jdbc.NotImplementedException:メソッドのConnection.prepareStatementはまだ実装されていません」スパークアテナコネクタ

あなたは私に火花のアテナを接続する方法を教えてください

答えて

0

私はあなたがスパークからアテナに接続したいのか分からないが、あなたはする必要はありません - あなたは非常に簡単にアテナが含まれているデータを照会することができます(または、より正確には、 "レジスタ")をSparkから取得します。

アテナ

には2つの部分
  1. データにあなたのSQLを変換プレストクエリエンジン
  2. データベース名とテーブル名と基礎となるすべてのファイルとの間のマッピングを含む(今グルーデータカタログと呼ばれる)ハイブメタストアがあります。これらのファイルに対する操作

EMRクラスター(v5.8.0以降)を起動すると、グルーデータカタログに接続するように指示できます。これは 'クラスタの作成'ダイアログのチェックボックスです。このオプションをチェックすると、Spark SqlContextがグルーデータカタログに接続し、Athenaのテーブルを見ることができます。

これで、通常どおりこれらのテーブルをクエリできます。

詳細はhttps://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-spark-glue.htmlを参照してください。

0

アッカに直接スパークを接続することはできません。 Athenaは単にs3をターゲットにしたPrestodbの実装です。 Prestoとは異なり、AthenaはHDFSのデータをターゲットにすることはできません。

しかし、s3のデータを照会するためにSparkを使用する場合は、HUEと運が良かったので、s3のデータをSpark on Elastic Map Reduce (EMR)から照会することができます。また

を参照してください: Developer Guide for Hadoop User Experience (HUE) on EMR.

0

アテーナーののデータを使用する場合は、@ Kirk Broadhurstの応答が正しいです。 Athenaエンジンを使用する場合は、githubのlibにpreparedStatementの問題を解決してください。

私はlibを使用することに成功しなかったことに注意してください.Mavenなどの経験が不足しているため、