现有一份汽车销售记录(car.txt),销售记录月、市、区县、品牌、车辆类型、使用性质和数量7列,请利用SparkSQL编程读取文件,并输出到屏幕
时间: 2023-08-21 12:05:51 浏览: 106
读取txt文件中的数字并输出
假设汽车销售记录文件 `car.txt` 的路径为 `/path/to/car.txt`,文件内容格式如下:
```
202201,北京市,东城区,奔驰,C级轿车,家庭自用,10
202201,北京市,西城区,奥迪,A4,A级轿车,8
202201,北京市,朝阳区,宝马,5系,公务用车,15
......
```
可以按照以下步骤使用 SparkSQL 编程读取文件,并输出到屏幕:
```python
from pyspark.sql import SparkSession
# 创建 SparkSession 对象
spark = SparkSession.builder.appName("car_sales").getOrCreate()
# 读取文件,生成 DataFrame 对象
df = spark.read.format("csv").option("header", "false").option("delimiter", ",").load("/path/to/car.txt")
# 给 DataFrame 对象的列命名
df = df.toDF("month", "city", "district", "brand", "car_type", "use_type", "quantity")
# 注册临时表
df.createOrReplaceTempView("car_sales")
# 执行 SQL 查询,输出结果到屏幕
spark.sql("SELECT * FROM car_sales").show()
# 关闭 SparkSession 对象
spark.stop()
```
执行上述代码,可以输出 DataFrame 对象 df 的全部记录到屏幕。其中,`spark.sql("SELECT * FROM car_sales")` 表示查询临时表 `car_sales` 的所有记录。`show()` 方法用于将查询结果输出到屏幕。
阅读全文