idea中spark读写hive测试
时间: 2023-04-27 10:04:15 浏览: 137
1. 首先需要在idea中添加spark和hive的依赖,可以在pom.xml文件中添加以下代码:
```
<!-- Spark dependencies -->
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.11</artifactId>
<version>2.4.5</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.11</artifactId>
<version>2.4.5</version>
</dependency>
<!-- Hive dependencies -->
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-jdbc</artifactId>
<version>2.3.7</version>
</dependency>
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-metastore</artifactId>
<version>2.3.7</version>
</dependency>
```
2. 然后需要创建一个SparkSession对象,用于连接到Hive和Spark:
```
val spark = SparkSession.builder()
.appName("Spark Hive Example")
.config("spark.sql.warehouse.dir", "/user/hive/warehouse")
.enableHiveSupport()
.getOrCreate()
```
其中,`appName`是应用程序的名称,`config`是指定Hive的warehouse目录,`enableHiveSupport`是启用Hive支持。
3. 接下来可以读取Hive中的数据,例如:
```
val df = spark.sql("SELECT * FROM my_table")
```
其中,`my_table`是Hive中的表名。
4. 如果需要将数据写入Hive中,可以使用以下代码:
```
df.write.mode(SaveMode.Append).saveAsTable("my_table")
```
其中,`SaveMode.Append`表示追加模式,`my_table`是Hive中的表名。
5. 最后需要关闭SparkSession对象:
```
spark.stop()
```
阅读全文