pyspark指定schema
通过StructType对象指定DataFrame的Schema
- 没有嵌套结构的json
jsonString = [
"""{ "id" : "01001", "city" : "AGAWAM", "pop" : 15338, "state" : "MA" }""",
"""{ "id" : "01002", "city" : "CUSHMAN", "pop" : 36963, "state" : "MA" }"""
]jsonRDD = sc.parallelize(jsonString)from pyspark.sql.types import *#定义结构类型
#StructType:schema的整体结构,表示JSON的对象结构
#XXXStype:指的是某一列的数据类型
jsonSchema = StructType() \.add("id", StringType(),True) \.add("city", StringType()) \.add("pop" , LongType()) \.add("state",StringType())jsonSchema = StructType() \.add("id", LongType(),True) \.add("city", StringType()) \.add("pop" , DoubleType()) \.add("state",StringType())reader = spark.read.schema(jsonSchema)jsonDF = reader.json(jsonRDD)
jsonDF.printSchema()
jsonDF.show()
- 带有嵌套结构的json
from pyspark.sql.types import *
jsonSchema = StructType([StructField("id", StringType(), True),StructField("city", StringType(), True),StructField("loc" , ArrayType(DoubleType())),StructField("pop", LongType(), True),StructField("state", StringType(), True)
])reader = spark.read.schema(jsonSchema)
jsonDF = reader.json('data/nest.json')
jsonDF.printSchema()
jsonDF.show(2)
jsonDF.filter(jsonDF.pop>4000).show(10)
pyspark指定schema相关推荐
- Spark-sql:以编程方式执行Spark SQL查询(通过反射的方式推断出Schema,通过StrutType直接指定Schema)
1.编写Spark SQL查询语句 在这之前创建Maven项目.创建的过程如:http://blog.csdn.net/tototuzuoquan/article/details/74571374 在 ...
- Mybatis链接PostgreSQL指定schema
1. 问题背景 分布式的项目,需求使用同一个数据库,根据schema的不同,用于区分不同的微服务数据. schema,就是PG数据库下面的不同模式:任何一个PG数据库,创建后,都会有一个默认的模式:p ...
- Pyspark学习笔记小总
pyspark官方文档: https://spark.apache.org/docs/latest/api/python/index.html pyspark案例教程: https://sparkby ...
- 【Pyspark教程】SQL、MLlib、Core等模块基础使用
文章目录 零.Spark基本原理 0.1 pyspark.sql 核心类 0.2 spark的基本概念 0.3 spark部署方式 0.4 RDD数据结构 (1)创建RDD的2种方式 (2)RDD操作 ...
- pyspark笔记(RDD,DataFrame和Spark SQL)
https://github.com/QInzhengk/Math-Model-and-Machine-Learning PySpark RDD和DataFrame 1.SparkSession 介绍 ...
- pyspark操作 rdd dataframe,pyspark.sql.functions详解 行列变换
官网文档可以参考:https://spark.apache.org/docs/latest/api/python/index.html dataframe读写 生成以逗号分隔的数据 stringCSV ...
- PostgreSQL_通过schema控制用户权限
背景环境 schema的特点 schema概念像命名空间 schema下不能再有schema嵌套 各个对象比如表,函数等存放在各个schema下 同一个schema下不能有重复的对象名字,但在不同sc ...
- Access导入文本文件的Schema.ini文件格式
Schema.ini格式如下(参考:MSDN主题 Schema.ini File): Schema.ini用于提供文本数据中的记录规格信息.每个Schema.ini的条目用于指明表的5个特征之一: 文 ...
- EFCore动态切换Schema
最近做个分库分表项目,用到schema的切换感觉还是有些坑的,在此分享下. 先简要说下我们的分库分表 分库分表规则 我定的规则是,订单号(数字)除以16,得出的结果为这个订单所在的数据库,然后他的余数 ...
最新文章
- Oh My Zsh终端工具
- python3.5全局解释器锁GIL-实现原理浅析
- java 反编译 手游_Java反编译器(DJ Java Decompiler)
- 渣渣菜鸡的 ElasticSearch 源码解析 —— 启动流程(上)
- Django从理论到实战(part31)--Django数据库查询操作
- android studio占内存大小,极大精简android studio在C盘的内存
- Maven学习总结(53)——利用Maven插件构建镜像进行持续交付中的版本号管理
- Spring随笔(04)
- Jquery.EasyUI datebox控件
- Angular 学习笔记——$interpolateProvide
- 数据结构面试、数据结构考研复试——常见问题以及回答
- ABAQUS中的非线性分析
- mac版百度网盘客户端
- vue-video-player,切换页面时控制台报错:TypeError: this.el_.vjs_getProperty is not a function解决方案
- 库卡profinet通讯中文说明书
- 如何判断关系是否自反,反自反,对称,反对称,传递
- App安全软件防护能力检测
- Andorid 方法数超过64K的问题
- drcom运行在路由器上
- python去掉空白行_python去掉空行
热门文章
- 关于C#的GetHashCode
- 直方图均衡化的代码解析
- HDU 6444 Neko's loop(单调队列)
- 微信小程序---家庭记账本开发(三)
- qcow2、raw、vmdk等镜像格式
- codevs 1017 乘积最大
- UI基础(四)之tableView (cell重用、原型cell、静态cell)/xib注意事项
- HTML 4.01/XHTML 1.0标签列表
- 在LoadRunner里何时该用 .NET Vuser协议?
- 孤读Paper——《ATSS:Adaptive Training Sample Selection》