使用spark读取parquet文件时,例如读取在file:///E:/test/clean文件夹下的文件:


而我们的文件内容中的数据结构是:

  val struct = StructType(Array(StructField("uid", StringType),StructField("time", StringType),StructField("netType", StringType),StructField("ip", StringType),StructField("desc_type", StringType),StructField("day", StringType),StructField("num", LongType),StructField("city", StringType)))

但是当我们读取文件时:

object TopNStatJob {def main(args: Array[String]): Unit = {val spark = SparkSession.builder().appName("TopNStatJob").config("spark.sql.sources.partitionColumnTypeInference.enabled","false").master("local[2]").getOrCreate()val accessDF = spark.read.format("parquet").load("file:///E:/test/clean")accessDF.printSchema()accessDF.show(false)spark.stop}
}

控制台输出的schema信息是:

在之前定义的day类型是string,而读取时的类型变成了integer
因此需要修改:

 val spark = SparkSession.builder().appName("TopNStatJob").config("spark.sql.sources.partitionColumnTypeInference.enabled","false").master("local[2]").getOrCreate()

SparkSQL读取文件时,数据字段类型调整相关推荐

  1. pandas使用read_csv函数读取文件时指定数据列的数据类型、pandas使用read_csv函数读取文件时通过keep_default_na参数设置缺失值替换为空字符串

    pandas使用read_csv函数读取文件时指定数据列的数据类型.pandas使用read_csv函数读取文件时通过keep_default_na参数设置缺失值替换为空字符串 目录

  2. python读取文件模式_python如何读取文件的数据

    使用 read() 函数读取文件时,如果文件过大,则一次读取全部内容到内存,容易造成内存不足,而相比每次限制读取字符(或字节)的个数,更推荐大家使用逐行读取文件的方式.一般情况下,逐行读取只适用于以文 ...

  3. python怎么读取文件-python如何读取文件的数据

    使用 read() 函数读取文件时,如果文件过大,则一次读取全部内容到内存,容易造成内存不足,而相比每次限制读取字符(或字节)的个数,更推荐大家使用逐行读取文件的方式.一般情况下,逐行读取只适用于以文 ...

  4. python里怎么读取文件-python如何读取文件的数据

    使用 read() 函数读取文件时,如果文件过大,则一次读取全部内容到内存,容易造成内存不足,而相比每次限制读取字符(或字节)的个数,更推荐大家使用逐行读取文件的方式.一般情况下,逐行读取只适用于以文 ...

  5. 模板引擎不关心内容之——art-template,碰见的同步与fs.readFile异步以及函数回调问题的描述,针对fs的readfille读取文件时,返回不了异步函数返回值的解决方法

    模板引擎不关心内容 art-template art-template不仅可以在浏览器使用,也可以在node中使用 npm install art-template该命令在哪执行就会把包下载在哪里,默 ...

  6. python读取文本并且替换_python 读取文件并替换字段的实例

    如下所示: fp = open(''test2.txt','w') #打开你要写得文件test2.txt lines = open('test1.txt').readlines() #打开文件,读入每 ...

  7. linux 查看文件中数据类型,Linux下使用file命令确定文件中数据的类型-文件类型...

    青年是学习智慧的时期,中年是付诸实践的时期.--卢梭 在Linux系统中查看一个文件之前,要先确定该文件中数据的类型,之后再使用适当的命令或方法打开该文件. 与windows系统不同,在Linux系统 ...

  8. 文件的创建与读取 文件的数据添加

    文件的创建与读取   文件的数据添加 一:概要 1:首先要站在程序的角度上. 2:文件的创建 即将程序中的数据 写入到文件当中. 3:文件的读取 即将一个文件中的信息读取到程序当中. 二:步骤 1:创 ...

  9. Java笔记-解决读取文件时中文乱码问题(InputStreamReader设置编码)

    Java一般读取文件时使用如下代码: InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(&q ...

最新文章

  1. 从产品的适用性以及费用方面考虑
  2. javascript里面RegExp的exec函数的总结
  3. 2个月做出一款AI项目?这些学生在DeeCamp上决出两个总冠军
  4. Qt计算器开发(二):信号槽实现数学表达式合法性检查
  5. php当前栏目位置,thinkphp获取栏目和文章当前位置的方法,_PHP教程
  6. Java 修饰符、运算符笔记总结
  7. html火影忍者网页设计作品,纯css3制作的火影忍者写轮眼开眼至轮回眼及进化过程实例...
  8. 201409-5 拼图
  9. android手机打电话src,【SPILL 百科】SRC:Android 系统的 48kHz 音讯输出限制
  10. pytorch 模型可视化_【深度学习】高效使用Pytorch的6个技巧:为你的训练Pipeline提供强大动力...
  11. php实现soap,PHP的SOAP原理及实现详解
  12. centos 5 手动分区来安装系统的方法
  13. NYOJ----1591----模拟+map
  14. 数据库系统概述--数据库习题
  15. 去除AuotoCAD学生版水印的办法
  16. 小爱同学app安卓版_小爱同学app下载安卓版-小爱同学 安卓版v2.9.42-pc6手机下载...
  17. godot python_godot新手教程2[godot常用代码用法]
  18. 700 boost yeezy_公司级Adidas Yeezy Boost 700上脚测评
  19. 计算机主板电路总线类型没有,电脑主板总线是什么意思
  20. 单片机双机通信c语言,单片机双机通信(C51程序)

热门文章

  1. EasyUI combobox
  2. SpringBoot集成EasyPoi实现Excel导入导出
  3. python软件下载网站
  4. Windows下Python包和模块的安装方法(亲测手动安装)
  5. MySQL 高可用:mysql+mycat实现数据库分片(分库分表)
  6. 解决fatal: No remote repository specified. Please, specify either a URL...
  7. ELK学习2_用Kibana和logstash快速搭建实时日志查询、收集与分析系统
  8. Linux下查看MySQL的安装路径
  9. PHP的转义字符与\r\n
  10. PHP删除文件unlink