版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SparkSQL外部数据源2知识目标SparkSQL外部数据源的含义SparkSQL外部数据源的格式SparkSQL外部数据源的读写01能力目标了解SparkSQL外部数据源的含义掌握SparkSQL外部数据源的格式掌握SparkSQL外部数据源的读写02学习目标3目录01简介02SparkSQL外部数据源格式03数据读写高级特征简介4读模式描述permissive当遇到损坏的记录时,将其所有字段设置为null,并将所有损坏的记录放在名为_corruptiont_record的字符串列中dropMalformed删除格式不正确的行failFast遇到格式不正确的数据时立即失败简介5Scala/Java写模式描述SaveMode.ErrorIfExists如果给定的路径已经存在文件,则抛出异常,这是写数据默认的模式SaveMode.Append数据以追加的方式写入SaveMode.Overwrite数据以覆盖的方式写入SaveMode.Ignore如果给定的路径已经存在文件,则不做任何操作CSV文件读取6CSV是一种常见的文本文件格式,其中每一行表示一条记录,记录中的每个字段用逗号分隔。自动推断类型读取读取示例:spark.read.format("csv").option("header","false")//文件中的第一行是否为列的名称.option("mode","FAILFAST")//是否快速失败.option("inferSchema","true")//是否自动推断schema.load("/usr/file/csv/dept.csv").show()CSB文件写入7CSV文件写入可以有如下方式:df.write.format("csv").mode("overwrite").save("/tmp/csv/dept2")也可以指定具体的分隔符:df.write.format("csv").mode("overwrite").option("sep","\t").save("/tmp/csv/dept2")JSON文件的读取和写入8读取:spark.read.format("json").option("mode","FAILFAST").load("/usr/file/json/dept.json").show(5)写入:df.write.format("json").mode("overwrite").save("/tmp/spark/json/dept")Parquet文件读取和写入9Parquet是一个开源的面向列的数据存储,它提供了多种存储优化,允许读取单独的列非整个文件,这不仅节省了存储空间而且提升了读取效率,它是Spark是默认的文件格式。读取:spark.read.format("parquet").load("/usr/file/parquet/dept.parquet").show(5)写入:df.write.format("parquet").mode("overwrite").save("/tmp/spark/parquet/dept")ORC文件读取和写入10ORC是一种自描述的、类型感知的列文件格式,它针对大型数据的读写进行了优化,也是大数据中常用的文件格式。读取:spark.read.format("orc").load("/usr/file/orc/dept.orc").show(5)写入:csvFile.write.format("orc").mode("overwrite").save("/tmp/spark/orc/dept")Text文件的读取和写入11Text文件在读写性能方面并没有任何优势,且不能表达明确的数据结构,所以其使用的比较少。读取:spark.read.textFile("/usr/file/txt/dept.txt").show()写入:df.write.text("/tmp/spark/txt/dept")数据读写的高级特征12并行读:多个Executors不能同时读取同一个文件,但它们可以同时读取不同的文件。这意味着当您从一个包含多个文件的文件夹中读取数据时,这些文件中的每一个都将成为DataFrame中的一个分区,并由可用的Executors并行读取。并行写:写入的文件或数据的数量取决于写入数据时DataFrame拥有的分区数量。默认情况下,每个数据分区写一个文件。分区写:分区和分桶这两个概念和Hive中分区表和分桶表是一致的。都是将数据按照一定规则进行拆分存储。需要注意的是partitionBy
指定的分区和RDD中分区不是一个概念:这里的分区表现为输出目录的子目录,数据分别存储在对应的子目录中。数据读写的高级特征13分桶写:分桶写入就是将数据按照指定的列和桶数进行散列,目前分桶写入只支持保存为表,实际上这就是Hive的分桶表。文件大小管理:如果写入产生小文件数量过多,这时会产生大量的元数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中国洗衣行业大数据分析平台建设与应用场景探索
- 2026中国游戏动漫行业市场供需动态竞争格局发展潜力投资评估报告
- 2026日本电子元件生产制造业供应链优化技术发展报告
- 2026中国新能源电池管理系统行业市场现状电池管理技术分析及投资评估发展策略研究分析报告
- 2026食品零售行业市场Supply需求分析及投资建议规划研究报告
- 2026中国智能交通系统行业市场应用与发展趋势分析研究报告
- 2026中国冰雪运动安全装备市场爆发条件与成长空间报告
- 2026汽车后市场零部件特色经营模式创新及民族品牌领军企业案例分析研究
- 2026人工智能产业应用拓展前景建筑资源互需战略规划分析评估报告
- 2026中国涡流泵用户采购行为分析与销售策略优化
- 2026届高考化学一轮复习 基于2025课标修订的探讨与落实
- 医院广告标识制作设计方案投标方案(技术标)
- 凤凰机器人课件
- JJG(交通) 086-2007 后插式路面弯沉自动测试仪
- 2025年道路运输企业安全生产管理人员复训题库及答案
- 阳光房施工技术总结
- GB/T 46237-2025信息技术数字孪生能力成熟度模型
- 视频拍摄制作合同
- 全国矿业权评估师资格考试真题及答案矿业权评估实务
- GB/T 222-2025钢及合金成品化学成分允许偏差
- 2025年安徽省阜阳市辅警招聘考试题库及答案
评论
0/150
提交评论