【发布时间】:2021-05-30 16:09:01
【问题描述】:
所以,我在我的项目中使用gcloud dataproc、Hive 和Spark,但显然我无法连接到Hive metastore。
我已经正确填充了表格并且所有数据都在那里,例如我现在尝试访问的表格是图像上的下一个表格,并且您可以看到镶木地板文件在那里(存储为镶木地板)。 Sparktp2-m 是dataproc cluster 的主人。
接下来,我有一个关于 IntelliJ 的项目,该项目将对其进行一些查询,但首先我需要访问此 hive 数据,但进展并不顺利。我正在尝试像这样访问它:
SparkSession spark = SparkSession
.builder()
.appName("Check")
.config("hive.metastore.uris","thrift://hive-metastore:9083")
.enableHiveSupport()
.getOrCreate();
JavaPairRDD<Tuple2<Object, String>, Integer> mr = spark.table("title_basics_parquet").toJavaRDD()...
接下来,我构建 jar 并将其作为这样的作业发送:
gcloud dataproc jobs submit spark --jars target/GGCD_Spark-1.0-SNAPSHOT.jar --class parte1.Queries --cluster sparktp2 --region europe-west1
错误是:
是我遗漏了什么,还是 URI 错误?
【问题讨论】:
-
URI 看起来不正确,如果您使用的是默认配置单元元存储,请尝试
thrift://<master-node-hostname>:9083。 -
另外,Dataproc 上的 Spark 配置了正确的 Hive 元存储地址,您无需在代码中添加
.config("hive.metastore.uris","thrift://hive-metastore:9083")。 -
@Dagang 我在 .config 中尝试了
thrift://<master-node-hostname>:9083,效果很好,谢谢!! -
您是否尝试删除
.config?我也加了一个答案,你能接受吗? -
@Dagang 我没有尝试删除配置,我只是在其中更改了
URI。也接受了,再次感谢您!
标签: apache-spark hive gcloud google-cloud-dataproc