需要先执行:spark3.0教程-SparkSQL:spark-sql 命令,对 Hive进行操作 中的建表、上传文件操作
介绍
pyspark 命令环境下,可以通过 API 对 Hive进行操作,编写、执行 SQL,而且兼容 HSQL
执行 pyspark 命令
条件查询
执行下面命令:
df = spark.sql("select name,age,gender,height from soh_student where gender='男'")
df.show()
执行结果:
+----+---+------+------+
|name|age|gender|height|
+----+---+------+------+
|李雷| 20| 男| 1.82|
|张三| 24| 男| 1.78|
+----+---+------+------+
统计
统计平均年龄,如下:
df = spark.sql("select avg(age) from soh_student")
df.show()
执行结果:
+--------+
|avg(age)|
+--------+
| 21.8|
+--------+
特点:执行速度非常快,比 Hive 快很多
创建表
建表语句,兼容 HSQL,而且是在 Hive 上创建表
spark.sql("create table test_soh(id int)")
查询表
spark.sql("select * from test_soh")
在 Hive 查询该表
使用 dbever等工具,连接 Hive,可以查看到该表、数据,说明通过 Spark 创建表,确实存在 Hive