1.parquet

https://spark.apache.org/docs/latest/sql-data-sources-parquet.html

2.orc

https://spark.apache.org/docs/latest/sql-data-sources-orc.html

3.csv

https://docs.databricks.com/spark/latest/data-sources/read-csv.html#supported-options

4.text

属性名称 默认值 含义
wholetext false 默认情况下,文本文件中的每一行都是生成的DataFrame中的新行。如果为true,则将文件作为单行读取,而不是按"\n"拆分。

5.jdbc

http://spark.apache.org/docs/latest/sql-data-sources-jdbc.html

属性名称 默认值 含义
url 要连接的JDBC URL,可以再URL中指定特定于源的连接属性
dbtable 应该读取或写入的JDBC表
query 将数据读入Spark的查询语句
driver “com.mysql.jdbc.Driver” 用于连接到此URL的JDBC驱动程序的类名
numPartitions 表读取和写入中可用于并行的最大分区数,同时确定了最大并发的JDBC连接数
partitionColumn,lowerBound,upperBound 如果指定了任一选项,则必须指定全部选项。此外,还必须指定numPartitions。partitionColumn必须是表中的数字,日期或时间戳列。注意:lowerBound和upperBound(仅用于决定分区步幅,而不是用于过滤表中的行。因此,表中的所有行都将被分区并返回,这些选项仅用于读操作。)
queryTimeout 0 超时时间(单位:秒),零意味着没有限制
fetchsize 用于确定每次往返要获取的行数(例如Oracle是10行),可以用于提升JDBC驱动程序的性能。此选项仅适用于读
batchsize 1000 JDBC批处理大小,用于确定每次往返要插入的行数。 这 可以 用于 提升 JDBC 驱动程序的性能。此选项仅适用于写。
isolationLevel READ_UNCOMMITTED 事务隔离级别,适用于当前连接。它可以是 NONE,READ_COMMITTED,READ_UNCOMMITTED,REPEATABLE_READ 或 SERIALIZABLE 之一,对应于 JDBC的Connection 对象定义的标准事务隔离级别,默认值为 READ_UNCOMMITTED。此选项仅适用于写。
sessionInitStatement 在向远程数据库打开每个数据库会话之后,在开始读取数据之前,此选项将执行自定义SQL语句(或PL / SQL块)。 使用它来实现会话初始化,例如:option(“sessionInitStatement”, “”“BEGIN execute immediate ‘alter session set “_serial_direct_read”=true’; END;”"")
truncate false 当启用SaveMode.Overwrite时,此选项会导致 Spark 截断现有表,而不是删除并重新创建它。这样更高效,并且防止删除表元数据(例如,索引)。但是,在某些情况下,例如新数据具有不同的 schema 时,它将无法工作。此选项仅适用于写。
cascadeTruncate false 如果JDBC数据库(目前为 PostgreSQL和Oracle)启用并支持,则此选项允许执行TRUNCATE TABLE t CASCADE(在PostgreSQL的情况下,仅执行TRUNCATE TABLE t CASCADE以防止无意中截断表)。这将影响其他表,因此应谨慎使用。此选项仅适用于写。
createTableOptions 此选项允许在创建表时设置特定于数据库的表和分区选项(例如,CREATE TABLE t (name string) ENGINE=InnoDB)。此选项仅适用于写。
createTableColumnTypes 创建表时要使用的数据库列数据类型而不是默认值。(例如:name CHAR(64),comments VARCHAR(1024))。指定的类型应该是有效的 spark sql 数据类型。 此选项仅适用于写。
customSchema 用于从JDBC连接器读取数据的自定义 schema。例如,id DECIMAL(38, 0), name STRING。您还可以指定部分字段,其他字段使用默认类型映射。 例如,id DECIMAL(38,0)。列名应与JDBC表的相应列名相同。用户可以指定Spark SQL的相应数据类型,而不是使用默认值。 此选项仅适用于读。
pushDownPredicate true 用于 启用或禁用 谓词下推 到 JDBC数据源的选项。默认值为 true,在这种情况下,Spark会尽可能地将过滤器下推到JDBC数据源。否则,如果设置为 false,则不会将过滤器下推到JDBC数据源,此时所有过滤器都将由Spark处理。

6.libsvm

https://spark.apache.org/docs/latest/api/java/org/apache/spark/ml/source/libsvm/LibSVMDataSource.html

对数据格式有要求,比如:

1 1:-0.222222 2:0.5 3:-0.762712 4:-0.833333
1 1:-0.555556 2:0.25 3:-0.864407 4:-0.916667
1 1:-0.722222 2:-0.166667 3:-0.864407 4:-0.833333
1 1:-0.722222 2:0.166667 3:-0.694915 4:-0.916667
0 1:0.166667 2:-0.416667 3:0.457627 4:0.5
1 1:-0.833333 3:-0.864407 4:-0.916667
2 1:-1.32455e-07 2:-0.166667 3:0.220339 4:0.0833333
2 1:-1.32455e-07 2:-0.333333 3:0.0169491 4:-4.03573e-08
属性名 默认值 含义
numFeatures 特征数:如果未指定或非正数,则将自动确定特征的数量,这会有额外的性能损耗。
vectorType sparse 特征向量类型:sparse(稀疏)或者 dense(密集)。

7.image

https://spark.apache.org/docs/latest/ml-datasource#image-data-source

8.json

https://docs.databricks.com/spark/latest/data-sources/read-json.html

属性名称 默认值 含义
primitivesAsString false 将所有 原始类型 推断为 字符串类型
prefersDecimal false 将所有 浮点类型 推断为 decimal 类型,如果不适合,则 推断为 double 类型
allowComments false 忽略JSON记录中的Java / C ++样式注释
allowUnquotedFieldNames false 允许不带引号的JSON字段名称
allowSingleQuotes true 除双引号外,还允许使用单引号
allowNumericLeadingZeros false 允许数字前有零
allowBackslashEscapingAnyCharacter false 允许反斜杠转义任何字符
allowUnquotedControlChars false 允许JSON字符串包含不带引号的控制字符(值小于32的ASCII字符,包括制表符和换行符)或不包含。
mode PERMISSIVE PERMISSIVE:允许在解析过程中处理损坏记录; DROPMALFORMED:忽略整个损坏的记录;FAILFAST:遇到损坏的记录时抛出异常。
columnNameOfCorruptRecord columnNameOfCorruptRecord(默认值是spark.sql.columnNameOfCorruptRecord中指定的值):允许重命名由PERMISSIVE 模式创建的新字段(存储格式错误的字符串)。这会覆盖spark.sql.columnNameOfCorruptRecord。
dateFormat dateFormat(默认yyyy-MM-dd):设置表示日期格式的字符串。自定义日期格式遵循java.text.SimpleDateFormat中的格式。
timestampFormat timestampFormat(默认yyyy-MM-dd’T’HH:mm:ss.SSSXXX):设置表示时间戳格式的字符串。 自定义日期格式遵循java.text.SimpleDateFormat中的格式。
multiLine false 解析可能跨越多行的一条记录

9.xml

https://github.com/databricks/spark-xml

9.1读选项

属性名称 默认值 含义
path 读文件路径
rowTag ROW 处理的 xml文件 的行标记。 例如,在xml … </ books> 中,rowTag 是 book。
samplingRatio 1.0 推断模式的采样率(0.0 ~ 1)。可能的类型是StructType,ArrayType,StringType,LongType,DoubleType,BooleanType,TimestampType 和 NullType
excludeAttribute false 是否要排除元素中的属性
nullValue “null” 读入空值的值,默认值为字符串 null
mode PERMISSIVE PERMISSIVE:允许在解析过程中处理损坏记录; DROPMALFORMED:忽略整个损坏的记录;FAILFAST:遇到损坏的记录时抛出异常。
inferSchema true 如果为true,则尝试为每个生成的DataFrame列推断适当的类型,如布尔值,数字或日期类型。 如果为false,则所有结果列都是字符串类型。
columnNameOfCorruptRecord _corrupt_record 存储格式错误字符串的新字段的名称
attributePrefix _ 属性的前缀,以便我们可以区分属性和元素。这将是字段名称的前缀。
valueTag _VALUE 当元素中没有子元素的属性时,用于值的标记。
charset UTF-8 编码
ignoreSurroundingSpaces false 定义 是否应跳过 正在读取的值 的 周围空格。

9.2写选项

属性名称 默认值 含义
path 写文件路径
rowTag ROW 处理的 xml文件 的行标记。 例如,在xml … </ books> 中,rowTag 是 book。
rootTag ROWS 处理的xml文件的根标记。 例如,在xml … </ books> 中,rootTag 是 books。
nullValue “null” 入空值的值。默认值 为 字符串 null。如果 为 null,则不会 为字段 写入 属性和元素。
attributePrefix _ 属性的前缀,以便我们可以区分属性和元素。这将是字段名称的前缀。
valueTag _VALUE 当元素中没有子元素的属性时,用于值的标记。
compression 保存到文件时使用的压缩编解码器。应该是实现 org.apache.hadoop.io.compress.CompressionCodec 的某个类的完全限定名,或者是一个不区分大小写的简写(bzip2,gzip,lz4 和 snappy)。未指定编解码器时,默认为无压缩。

10.excel

https://github.com/crealytics/spark-excel

Spark DataSource Option 参数的更多相关文章

  1. spark通过合理设置spark.default.parallelism参数提高执行效率

    spark中有partition的概念(和slice是同一个概念,在spark1.2中官网已经做出了说明),一般每个partition对应一个task.在我的测试过程中,如果没有设置spark.def ...

  2. Spark开发常用参数

    Driver spark.driver.cores driver端分配的核数,默认为1,thriftserver是启动thriftserver服务的机器,资源充足的话可以尽量给多. spark.dri ...

  3. spark job运行参数优化

    http://www.cnblogs.com/LBSer/p/4129481.html 一.问题 使用spark join两张表(5000w*500w)总是出错,报的异常显示是在shuffle阶段. ...

  4. spark作业提交参数设置(转)

    来源:https://www.cnblogs.com/arachis/p/spark_parameters.html 摘要 1.num-executors 2.executor-memory 3.ex ...

  5. Spark 性能相关参数配置详解-任务调度篇

    随着Spark的逐渐成熟完善, 越来越多的可配置参数被添加到Spark中来, 本文试图通过阐述这其中部分参数的工作原理和配置思路, 和大家一起探讨一下如何根据实际场合对Spark进行配置优化. 由于篇 ...

  6. Spark 性能相关参数配置详解-压缩与序列化篇

    随着Spark的逐渐成熟完善, 越来越多的可配置参数被添加到Spark中来, 本文试图通过阐述这其中部分参数的工作原理和配置思路, 和大家一起探讨一下如何根据实际场合对Spark进行配置优化. 由于篇 ...

  7. Spark 性能相关参数配置详解-shuffle篇

    随着Spark的逐渐成熟完善, 越来越多的可配置参数被添加到Spark中来, 在Spark的官方文档http://spark.apache.org/docs/latest/configuration. ...

  8. Spark 性能相关参数配置详解-Storage篇

    随着Spark的逐渐成熟完善, 越来越多的可配置参数被添加到Spark中来, 本文试图通过阐述这其中部分参数的工作原理和配置思路, 和大家一起探讨一下如何根据实际场合对Spark进行配置优化. 由于篇 ...

  9. Spark远程调试参数

    Spark远程调试脚本: #调试Master,在master节点的spark-env.sh中添加SPARK_MASTER_OPTS变量 export SPARK_MASTER_OPTS="- ...

随机推荐

  1. 容器编排系统K8s之访问控制--准入控制

    前文我们聊到了k8s的访问控制第二关RBAC授权插件的相关话题,回顾请参考:https://www.cnblogs.com/qiuhom-1874/p/14216634.html:今天我们来聊一下k8 ...

  2. 进程描述符(PCB)

    进程描述符(PCB) 概述 CPU作为计算机的核心部件,我们当然希望它能一直工作,充分提高它的使用效率.对于上层软件来说,我们不可能直接去操控CPU(我们没这能力也没必要),因为操作系统是夹在计算机硬 ...

  3. TurtleBot3 Waffle (tx2版华夫)(9)建图-gmapping建图(A2雷达)

    9.1. 说明 这一节我们来讲 Turtlebot3 的 SLAMSLAM(The Simultaneous Localization and Mapping) 同步定位与地图构建: 希望机器人从未知 ...

  4. RocketMQ 简介

    本文根据阿里云 RocketMQ产品文档整理 地址:https://help.aliyun.com/document_detail/29532.html?userCode=qtldtin2 简介 Ro ...

  5. linux系统搭建ftp服务器及创建用户使用

    linux 系统下搭建ftp服务器 ftp是什么 FTP是 File Transfer Protocol 文件传输协议的英文名称,用于在Internet上控制文件的双向传输. 同时它也是一个应用程序. ...

  6. haproxy 里的超时

    haproxy 中的超时 客户端请求阶段 timeout client haproxy 和客户端通信时,连接不活跃的时间,既不发送数据,也不ack接收的数据 如果未设置,则永不超时,此时连接是否超时依 ...

  7. 域名解析 看Cname 信息

    CMD 命令: nslookup -q=cname www.yuzhentan.com

  8. 洛谷P1055 字符串的处理-----ISBN

    题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括99位数字.11位识别码和33位分隔符,其规定格式如x-xxx-xxxxx-x,其中符号-就是分隔符(键盘上的减号),最后一位 ...

  9. MP(MyBatis-Plus)的自动填充功能

    什么是自动填充 有些表中会有更新时间.创建时间.更新人或者创建人这些字段. 每次对数据进行新增.删除.修改时都需要对这些字段进行设置.传统的做法是在进行这些操作前,对Entity的字段进行set设置, ...

  10. 第12章 DOM操作

    目录 *1. 向DOM中注入HTML 1.1 将HTNL字符串转换成DOM 预处理HTML源字符串 包装HTML 1.2 将DOM元素插入到文档中 2. DOM的特性和属性 通过DOM方法和属性访问特 ...