JDBC経由でthriftserver経由でspark-sqlテーブルを公開しようとしていますが、正常に接続されたように見えますが動作しません。これまで私が試したことは次のとおりです。spark-SQL CLIで利用可能なテーブルはthriftserverで利用できません
データベースのセットアップ:一部を返さspark.sql("SELECT * FROM hive_tableX LIMIT 1").show()
:pysparkで
- 私は
tableX
- が、私はそのテーブルを照会
hive_tableX
- として
.saveAsTable
を行ったとして、一時ビューを作成し、寄木細工のファイルをロードデータ - この時点で、私のコードはテーブル情報をhivestoreに保存していますよね? 火花-SQLから問い合わせる
:
- 私はその後、
spark-sql
を実行し、スパークSQLシェルは USE default
show tables;
を起動 - >私はhive_tableX
、そこに私の表を参照してください。SELECT * FROM hive_tableX LIMIT 1
と私はいくつかの成功した結果を見る。- このように、私のテーブルがハイブのメタストアに保存されていることが確認されました。
は、私は次thriftserver
./sbin/start-thriftserver.sh
をオンにし、私は私はthriftserver接続
!connect jdbc:hive2://localhost:10000
をテストすることができるビーラインをオンにする(Ause default;
- および
show tables;
- >そこには何もありません。
私のテーブルはどこですか?別の倉庫か何かを指しているかのようなものですか?
編集:私は私のthriftserverは、右の倉庫のディレクトリを使用していないと思うので、私は、設定オプションを指定して、それを起動しようとしている:
- [まだ何も] sbinに/ --hiveconf spark.sql.warehouse.dir =/code/spark/thrift/spark-warehouse
- [まだなにも] sbin/start-thriftserver.sh --conf spark.sql。warehouse.dir = /コード/火花/リサイクル/火花倉庫
編集:wherehouseが作成された場所と同じ物理ディレクトリにそれを開始は、トリックを行うようです。しかし、私はプログラム的にパスを他のものに設定し、それをどこかで起動する方法はわかりません。
ところで、寄木細工の 'SELECT * FROM parquet。\' parquet/file/location \ 'LIMIT 1'で直接選択/作成できます。 – mrsrinivas
spark-shell/sqlが起動した同じユーザーをサーバから削除しようとします。ユーザーが** spark **の場合、接続文字列は '!connect jdbc:hive2:// localhost:10000 spark spark' – mrsrinivas
問題は、私がスパークウェアハウスの場所とは異なるディレクトリ位置しています。実際にそのディレクトリに実際にパスを入れる方法を知る必要があります。 – Kristian