软件开发定制Spark读取CSV文件(Scala)

核心代码

  1. import org.apache.spark.sql.SparkSession
  2. import org.apache.spark.sql.types.{DataTypes, StructField, StructType}
  3. object ReadCSV {
  4. val schema = new StructType(Array(
  5. StructField("product_id",DataTypes.StringType),
  6. StructField("product_name",DataTypes.StringType),
  7. StructField("enterprise_name",DataTypes.StringType),
  8. StructField("entry_name",DataTypes.StringType)
  9. ))
  10. def main(args: Array[String]): Unit = {
  11. val spark = SparkSession
  12. .builder()
  13. .master("local")
  14. .appName("SNF-Income")
  15. .getOrCreate()
  16. val salesDF = spark.read
  17. .option("header", "true")
  18. .schema(schema)
  19. .format("csv")
  20. .load("./data/income_sales.csv")
  21. salesDF.show(10)
  22. }
  23. }

参数说明:

format: 软件开发定制指定读取的文件格式:csv。

: 软件开发定制是否指定首行作为schema。

: 指定数据字段的格式。

option里面的参数说明:

参数 说明
header默认为falase, 将第一行作为列名
encoding默认是utf-8, 通过给定的编码类型进行解码
sep        默认是“,”,指单个字符分割字段和值
inferSchema默认为false, 从数据自动推断输入模式,需要对数据进行一次额外的传递。如:option("inferSchema",true.toString) ; 这是自动推断属性列的数据类型
multiLine  默认为false,解析第一条记录,该记录可能跨越多行。
nullValue默认是空的字符串,设置null值的字符串形式。从2.0.1开始,适用于所有支持的类型,包括字符串类型
emptyValue 默认是空字符串,设置一个空值的字符串。

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发