怎么让hive的metastrore和spark使用的metastore是同一个?
时间: 2023-05-28 09:02:14 浏览: 111
Spark和Hive的结合(让hive基于spark计算)
3星 · 编辑精心推荐
让hive的metastore和spark使用的metastore是同一个步骤如下:
1. 首先,在hive的hive-site.xml文件中添加以下配置项:
```
<property>
<name>hive.metastore.uris</name>
<value>thrift://<metastore_hostname>:9083</value>
</property>
```
2. 确认spark的spark-defaults.conf文件中,spark.sql.catalogImplementation属性的值为hive。
3. 确保hive和spark使用相同的JDBC驱动程序,例如可以使用mysql-connector-java驱动程序。
4. 运行Hive metastore。
5. 运行Spark,在Spark应用程序中使用以下语句创建SparkSession:
```
val spark = SparkSession.builder()
.appName("MyApp")
.config("spark.sql.catalogImplementation", "hive")
.config("hive.metastore.uris", "thrift://<metastore_hostname>:9083")
.enableHiveSupport()
.getOrCreate()
```
这样,Spark会使用与Hive相同的metastore,可以读取和写入相同的表和数据。
阅读全文