环境说明

spark.version=2.4.4

scala.version=2.11.12

文件示例

{"name": "Michael",  "age": 12}{"name": "Andy",  "age": 13}{"name": "Justin",  "age": 8, "friend_cnt": 2,"friends": [{"name": "Jobs"}, {"name": "Jacky"}]}

应用代码

object App {  def main(args: Array[String]): Unit = {    import org.apache.spark.sql.SparkSession    import org.apache.spark.storage.StorageLevel    import org.apache.spark.HashPartitioner    import org.apache.spark.Partitioner    val spark = SparkSession.builder().appName("App").master("local[4]").getOrCreate()    spark.sparkContext.setLogLevel("ERROR")    val jsonData = spark.read.json(      "C:bdsparkest3datainputjson"    )        jsonData.createOrReplaceTempView("tmp_view")    jsonData.printSchema()    spark.sql(      "select name,friends[0].name from tmp_view where friend_cnt>0"    ).collect().foreach(println)  }}

运行结果

root

|-- age: long (nullable = true)

|-- friend_cnt: long (nullable = true)

|-- friends: array (nullable = true)

| |-- element: struct (containsNull = true)

| | |-- name: string (nullable = true)

|-- name: string (nullable = true)

[Justin,Jobs]

补充说明

  • jsonData是一个DataFrame(org.apache.spark.sql.DataFrame),简称df
  • printSchema()可以输出该df的结构信息
  • 可以通过createOrReplaceTempView将df注册为一个临时表,通过用 [element] 指定下标来访问array中的元素,通过.访问struct中的嵌套元素,如friends[0].name

rapidjson读取json文件_SPARK入门 - json文件读取相关推荐

  1. c++读取json文件_SPARK入门 - json文件读取

    环境说明 spark.version=2.4.4 scala.version=2.11.12 文件示例 {"name": "Michael", "ag ...

  2. spark sql合并小文件_Spark SQL小文件问题在OPPO的解决方案

    Spark SQL小文件是指文件大小显著小于hdfs block块大小的的文件.过于繁多的小文件会给HDFS带来很严重的性能瓶颈,对任务的稳定和集群的维护会带来极大的挑战. 一般来说,通过Hive调度 ...

  3. python文件操作入门

    文件操作入门 单个文件读写: 下面这首诗存在一个txt文件里,文件路径为: "D:\文件集散地\白雪歌送武判官归京.txt" .请将这首诗的前5句存到另一个txt文件里. 北风卷地 ...

  4. Json Schema快速入门

    Json Schema快速入门 JSON 模式是一种基于 JSON 格式定义 JSON 数据结构的规范.它被写在 IETF 草案下并于 2011 年到期.JSON 模式: 描述现有数据格式. 干净的人 ...

  5. kotlin 读取json文件_Kotlin入门(31)JSON字符串的解析

    json是App进行网络通信最常见的数据交互格式,Android也自带了json格式的处理工具包org.json,该工具包主要提供了JSONObject(json对象)与JSONArray(json数 ...

  6. Rapidjson的简单使用(拼接json串,存取文件中的json,解析json串)

    Rapidjson的简单使用示例 很早就想用用Markdown了,一直没机会.今天就来试一下 先放个目录: Rapidjson的简单使用示例 rapidjson官方教程 本示例所用环境 示例代码与注释 ...

  7. 安卓加载asset中的json文件_Android中读取asset路径下本地json文件

    最近自己写个小demo,用到了assets文件里面的内容.猛的没想起来怎么使用.就记录下来 移动端开发中,和后台的交互方式不外乎json和xml,由于json的轻量级以及易用性,所以现在的交互协议基本 ...

  8. java读取json配置文件_解决:java 读取 resources 下面的 json 文件

    前言:java 读取 工程下的配置文件,文件类型为 json(*.json),记录一下始终读取不到 json 文件的坑.maven项目 直接上工具类代码 package com.yule.compon ...

  9. python3读写excel文件_python3 循环读取excel文件并写入json操作

    文件内容: excel内容: 代码: import xlrd import json import operator def read_xlsx(filename): # 打开excel文件 data ...

最新文章

  1. [转载]我的博后申请经历从陶瓷到Offer过程
  2. throws与throw
  3. SAP Spartacus TypeScript和编译后的JavaScript命名规范
  4. hbase里插入big int数据用Phoenix查看的报错问题
  5. 大数据之多数据源综合管理系统:数据源配置管理
  6. windows配置phpredis
  7. 请简述java的异常体系,Java的异常体系 面试题
  8. 保姆教程 | YOLOv5在建筑工地中安全帽佩戴检测的应用
  9. 一元四次方程c语言程序编写,一元高次方程数值解法C程序实现探讨..doc
  10. 方差公式初三_初中数学公式定理大全之方差
  11. Taro 3 正式版发布!京东推出开放式跨端跨框架方案,这些React、Nerv、Vue、jQuey都能支持上了!...
  12. 国内镜像大全(部分)
  13. 周鸿祎:如何做好产品经理
  14. 快速用浏览器在线查看.ipynb文件
  15. 51单片机:串行口控制寄存器SCON
  16. esp8266+arduino+blinker远程控制灯管和LED小灯,步骤详细,适用所有新手小白
  17. python---简单游戏制作(飞机大战)
  18. 第100001个素数是什么?_蓝桥杯
  19. e-人事管理系统-人事档案-角色定义
  20. Office365使用体验:在线办公+团队协作

热门文章

  1. 使用Chrome开发者工具研究JavaScript函数的原生实现原理
  2. WordPress Kyma插件里Connect和disconnect按钮的动态显示逻辑
  3. SAP扫盲系列之二:SAP ABAP应用服务器的组成部分
  4. how SAP CRM settype structure names are determined
  5. 阮一峰react demo代码研究的学习笔记 - ReactMount.render
  6. sap.ca.ui.model.format.NumberFormat format logic for Globalization
  7. SAP OData Service group - get entity set
  8. SAP CRM product customizing下载的第四个队列
  9. 使用git命令行将某个指定文件回退到前几个版本
  10. windows10下的nc