Spark SQL - 操作数据集

本教程将通过一个具体的案例来演示如何在Spark SQL中操作数据集。我们将从创建本地文件开始,然后上传到HDFS,并使用Spark Shell启动Spark程序。接下来,我们将加载数据为DataSet,并给DataSet添加元数据信息。最后,我们将对数据集进行各种操作,如投影、过滤、统计和排序等。

具体步骤如下:

  1. /home目录里创建student.txt文件。
  2. 执行命令:hdfs dfs -mkdir -p /student/input,创建目录。
  3. 执行命令:hdfs dfs -put student.txt /student/input,上传文件。
  4. 执行命令:spark-shell --master spark://master:7077,启动Spark Shell。
  5. 执行命令:val ds = spark.read.textFile("hdfs://master:9000/student/input/student.txt"),读取文件得到数据集。
  6. 执行命令:ds.show,显示数据集内容。
  7. 执行命令:ds.printSchema,显示数据集模式。
  8. 定义学生样例类:case class Student(id: Int, name: String, gender: String, age: Int)。
  9. 导入隐式转换:import spark.implicits._。
  10. 将数据集转成学生数据集:val studentDS = ds.map(line => { val fields = line.split(","); val id = fields(0).toInt; val name = fields(1); val gender = fields(2); val age = fields(3).toInt; Student(id, name, gender, age) })。
  11. 对学生数据集进行操作,如投影、过滤、统计和排序等。
相关推荐
fe7tQnVan2 小时前
MyBatis-动态sql与高级映射
数据库·sql·mybatis
lzhdim5 小时前
SQL 入门 8:SQL 复杂查询:子查询与ALL关键词
数据库·sql·mysql
l1t6 小时前
DeepSeek辅助编写的Oracle dmp转SQL脚本和CSV文件工具
数据库·人工智能·sql·oracle
Ln5x9qZC29 小时前
Flink SQL 元数据持久化实战
大数据·sql·flink
升职佳兴10 小时前
SQL 进阶3:连续登录问题与 ROW_NUMBER 差值法完整解析
java·数据库·sql
014-code12 小时前
MySQL 很实用的 SQL 语句清单(排障与日常运维)
sql·mysql
bIo7lyA8v12 小时前
从 ChangeTracker 到 SQL Batch 的性能诊断与优化
数据库·sql·batch
蒸汽求职13 小时前
低延迟系统优化:针对金融 IT 与高频交易,如何从 CPU 缓存行(Cache Line)对齐展现硬核工程底蕴?
sql·算法·缓存·面试·职场和发展·金融·架构
麦聪聊数据1 天前
企业数据流通与敏捷API交付实战(五):异构数据跨库联邦与零代码发布
数据库·sql·低代码·restful
生瓜硬劈..1 天前
SQL 调优全解:从 20 s 到 200 ms 的 6 步实战笔记
java·笔记·sql