小编Jef*_*uti的帖子

如何在本地模式下运行 Spark SQL Thrift Server 并使用 JDBC 连接到 Delta

我想使用 JDBC 连接到 Delta,并想在本地模式下运行 Spark Thrift Server (STS) 以进行测试。

我使用以下命令启动 STS:

$SPARK_HOME/sbin/start-thriftserver.sh \
  --conf spark.sql.extensions=io.delta.sql.DeltaSparkSessionExtension \
  --conf spark.sql.catalog.spark_catalog=org.apache.spark.sql.delta.catalog.DeltaCatalog \
  --packages 'io.delta:delta-core_2.12:1.0.0'
Run Code Online (Sandbox Code Playgroud)

尝试使用 beeline 连接时出现以下错误:

Beeline version 2.3.7 by Apache Hive
beeline> !connect jdbc:hive2://localhost:10000

Connecting to jdbc:hive2://localhost:10000
Enter username for jdbc:hive2://localhost:10000:
Enter password for jdbc:hive2://localhost:10000: 

Error: Could not open client transport with JDBC Uri: jdbc:hive2://localhost:10000: Failed to open new session: org.apache.spark.SparkException: Cannot find catalog plugin class for catalog 'spark_catalog': org.apache.spark.sql.delta.catalog.DeltaCatalog (state=08S01,code=0)
Run Code Online (Sandbox Code Playgroud)

查看 thrift 服务器日志,我没有看到任何明显的错误,并且 delta jar 文件的加载也没有任何错误。

Spark Command: /Users/sandbox/.sdkman/candidates/java/8.0.282.j9-adpt/bin/java -cp …
Run Code Online (Sandbox Code Playgroud)

apache-spark apache-spark-sql spark-thriftserver delta-lake

5
推荐指数
1
解决办法
3161
查看次数