一、配置

忽略损坏的文件、忽略丢失的文件、路径全局过滤器、递归文件查找和修改时间路径过滤器等选项/配置仅在使用基于文件的源(parquet,orc,avro,json,csv,txt)时才有效。

以下示例中使用的目录层次结构为:

dir/├── childDir/│    └── test.json└── test.avro└── test.orc└── test1.json

二、忽略损坏的文件

设置spark.sql.files.ignoreCorruptFiles为true从文件读取数据时忽略损坏的文件。

读取数据文件时忽略损坏的文件例子:

spark.sql("set spark.sql.files.ignoreCorruptFiles=true");
// dir/test.avro 和 dir/test.avro不是json被忽略
Dataset<Row> jsonDF = spark.read().json("hdfs://master:9000/dir/","hdfs://master:9000/dir/chidDir/");
jsonDF.show();

三、忽略丢失的文件

设置spark.sql.files.ignoreMissingFiles设置为true在文件读取数据时忽略不存在的文件。

spark.sql("set spark.sql.files.ignoreMissingFiles=true");Dataset<Row> jsonDF = spark.read().json("hdfs://master:9000/dir/","hdfs://master:9000/dir/chidDir/a.json");
jsonDF.show();

四、路径全局过滤器

pathGlobFilter用于仅包含文件名与模式匹配的文件。语法实现为org.apache.hadoop.fs.GlobFilter类,它不会更改分区发现的行为。

要加载具有与给定全局模式匹配的路径的文件,同时保持分区发现的行为,例子:

Dataset<Row> jsonDF = spark.read().format("json").option("pathGlobFilter", "*.json") // dir只读取json文件.load("hdfs://master:9000/dir");
jsonDF.show();

五、递归文件查找

recursiveFileLookup用于递归加载文件,并且禁用分区推断。其默认值为false。如果数据源显式指定partitionSpec并且recursiveFileLookup为true,则将引发异常。

递归加载所有文件例子:

Dataset<Row> jsonDF = spark.read().format("json").option("recursiveFileLookup", "true").load("hdfs://master:9000/dir");
jsonDF.show();

六、修改时间路径过滤器

modifiedBefore和·modifiedAfter是可以一起应用或单独应用的选项。(注意,结构化流文件源不支持这些选项。)

  • modifiedBefore:可选的时间戳记,仅包含修改时间在指定时间之前发生的文件。提供的时间戳必须采用以下格式:YYYY-MM-DDTHH:mm:ss(例如:2021-03-31T20:10:00)
  • modifiedAfter:可选的时间戳记,仅包括修改时间在指定时间之后发生的文件。提供的时间戳必须采用以下格式:YYYY-MM-DDTHH:mm:ss(例如:2021-03-31T20:10:00)

如果未提供时区选项,则时间戳使用Spark会话时区(spark.sql.session.timeZone)。

要加载路径与给定的修改时间范围匹配的文件,例子:

Dataset<Row> jsonDF = spark.read().format("json").option("modifiedBefore", "2021-03-21T11:34:00").option("modifiedAfter", "2021-03-05T11:34:00")// Interpret both times above relative to CST timezone.option("timeZone", "CST").load("hdfs://master:9000/dir");
jsonDF.show();

Spark SQL(六)之加载数据的参数配置相关推荐

  1. QWebEngineView 加载 flash插件参数配置

    QWebEngineView 加载 flash插件参数配置 官网 http://doc.qt.io/qt-5/qtwebengine-features.html Qt WebEngine 特性 主要看 ...

  2. 【深度学习】——利用pytorch搭建一个完整的深度学习项目(构建模型、加载数据集、参数配置、训练、模型保存、预测)

    目录 一.深度学习项目的基本构成 二.实战(猫狗分类) 1.数据集下载 2.dataset.py文件 3.model.py 4.config.py 5.predict.py 一.深度学习项目的基本构成 ...

  3. springboot初始化加载数据_Spring Boot配置数据加载大全

    关于注入数据说明 1.不通过配置文件注入数据 通过@Value将外部的值动态注入到Bean中,使用的情况有: 注入普通字符串 注入操作系统属性 注入表达式结果 注入其他Bean属性:注入Student ...

  4. spark加载数据的方式

    spark.read.load是加载数据的通用方法 对不同格式文件采用不同的format方式SparkSQL的默认数据源为Parquet格式,Parquet是一种能够有效存储嵌套数据的列示存储格式. ...

  5. oracle 加载数据戽_走进大数据丨 ETL - Load(数据加载)

    LOAD 加载经转换和汇总的数据到目标数据仓库中,可实现SQL或批量加载数据加载(Load) 经过数据转换生成的文件的结构与数据仓库数据表的结构完全一致,可以直接通过数据加载工具,以Bulk Load ...

  6. Spark-SQL从MySQL中加载数据以及将数据写入到mysql中(Spark Shell方式,Spark SQL程序)

    1. JDBC Spark SQL可以通过JDBC从关系型数据库中读取数据的方式创建DataFrame,通过对DataFrame一系列的计算后,还可以将数据再写回关系型数据库中. 1.1. 从MySQ ...

  7. Spark SQL(五)之数据加载与存储

    一.数据加载 (1)默认数据源(parquet) 最简单加载数据的方式,所有操作都使用默认数据源(parquet).如果指定默认数据源需要配置 spark.sql.sources.default参数. ...

  8. spark mysql 写_Spark-SQL从MySQL中加载数据以及将数据写入到mysql中(Spark Shell方式,Spark SQL程序)...

    1. JDBC Spark SQL可以通过JDBC从关系型数据库中读取数据的方式创建DataFrame,通过对DataFrame一系列的计算后,还可以将数据再写回关系型数据库中. 1.1. 从MySQ ...

  9. 深度实践SPARK机器学习_学习笔记_第二章2.3加载数据

    2.3加载数据 1.下载数据文件u.user head -3 u.user ##查看文件前几行 cat u.user |wc -l 或者 more u.user |wc -l    ##数文件记录数 ...

最新文章

  1. 鹅厂机器狗,站起来了!
  2. keras冻结_【连载】深度学习第22讲:搭建一个基于keras的迁移学习花朵识别系统(附数据)...
  3. cmake / CMAKE _ * _ OUTPUT_DIRECTORY 说明
  4. ITK:将itk :: Image转换为vtkImageData
  5. RibbonControl中的主题设计
  6. Angular依赖注入机制的一个错误消息:Error Cannot instantiate cyclic dependency!
  7. SAP UI5 bindProperty的实现
  8. 502无法解析服务器标头_编写下载服务器。 第二部分:标头:Last-Modified,ETag和If-None-Match...
  9. 〖Linux〗Ubuntu设定Proxy及忽略Proxy
  10. ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效---解决方法
  11. 阿里正在研发无人卡车;《王者荣耀》皮肤个性动作涉嫌抄袭致歉;​苹果泄露女生私密照赔偿数百万美元|极客头条...
  12. Spring MVC 的配置安装
  13. Codeforces Round #456 (Div. 2): E. Prime Gift(折半枚举)
  14. LeetCode 71. Simplify Path
  15. Java中的一些基础概念
  16. 运维自动化之zabbix(添加Graph screen)(3)
  17. 硬盘读写性能iozone测试方法及下载
  18. 1585 Amount of Degrees
  19. 计算机 桌面显示桌面图标不见了,显示桌面图标不见了怎么办,小编教你电脑显示桌面图标不见了怎么解决...
  20. Python爬取拉钩招聘网,用数据告诉你这类程序员最赚钱

热门文章

  1. mysql中有没有单行函数_MySQL之函数(单行函数、分组函数)
  2. 算法设计与分析——贪心算法——活动安排问题
  3. leetcode53. 最大子数组和(暴力+贪心)
  4. 二叉树序列化与反序列化相关题目(Leetcode题解-Python语言)
  5. 突破冯诺依曼原理的计算机,冯诺依曼计算机的基本原理
  6. java进阶之注解篇
  7. SpringBoot自动装配源码解析
  8. java写dnf外掛_dnf卡盟_Java的泛型详解(一)
  9. 520 钻石争霸赛 7-5 大勾股定理 (数学)
  10. 2019-03-06-算法-进化(三数之和)