spark sql 读取hive外部表
时间: 2023-09-05 15:13:53 浏览: 173
1. 首先需要在Hive中创建一个外部表。外部表是指数据存储在磁盘上,而不是Hive的默认存储位置(HDFS)中。
```
CREATE EXTERNAL TABLE external_table (
col1 string,
col2 int,
col3 double
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
LOCATION '/path/to/data';
```
2. 然后在Spark中创建一个SparkSession对象,并使用该对象创建一个DataFrame。
```
val spark = SparkSession.builder()
.appName("Spark Hive External Table")
.enableHiveSupport()
.getOrCreate()
val df = spark.sql("SELECT * FROM external_table")
```
3. 可以使用DataFrame API或Spark SQL来处理数据。
```
df.show()
df.printSchema()
df.select("col1").show()
df.filter($"col2" > 10).show()
df.createOrReplaceTempView("temp_table")
spark.sql("SELECT AVG(col2) FROM temp_table").show()
```
4. 最后,记得关闭SparkSession对象。
```
spark.stop()
```
阅读全文