spark中读取json_【spark】文件读写和JSON数据解析
1.读文件
通过 sc.textFile(“file://")方法来读取文件到rdd中。
val lines = sc.textFile("file://")//文件地址或者HDFS文件路径
本地地址
"file:///home/hadoop/spark-1.6.0-bin-hadoop2.6/examples/src/main/resources/people.json"
HDFS文件地址
"hdfs://112.74.21.122:9000/user/hive/warehouse/hive_test"
2.保存文件
通过sc.saveAsTextFile("file://")把 rdd 内容保存到文件
rdd.saveAsTextFile("file:///home/writeout.txt");//把rdd写入/home/writeout.txt
但是我们打开/home文件夹,发现writeout并不是txt文件而是一个文件夹,我们打开文件夹,结构如下
我们保存错了嘛?没有,这时正常的。part-00000代表的是分区,如果有多个分区,会有多个part-xxxxxx的文件。
如果我们要再次读取这个保存的文件并不需要一个一个分区读取,直接读取就可以了,spark会自动加载所有分区数据。
val rdd = sc.textFile("file:///home/writeout/part-00000");//我们并不用这样一个一个读取
val rdd = sc.textFile("file:///home/writeout.txt");//直接这样读取,就会自动把所有分区数据加载到rdd中
3.JSON数据解析
(1)读取JSON格式文件
直接用sc.textFile(“file://") 来读取.json文件即可
(2)JSON
Scala中有一个自带的JSON库 scala.util.parsing.json.JSON 可以实现对JSON数据解析。
通过调用 JSON.parseFull(jsonString:String) 函数对输入的JSON字符串进行解析。
如果解析成功则返回一个 Some( map:Map[String,Any] ) ,失败则返回None
示例:
文件内容
我们看到每个{...}中为一个json格式的数据,一个json文件包含若干个json格式的数据。
我们解析这个json文件的内容
1.编写程序
import org.apache.spark._
import scala.util.parsing.json.JSON
object JSONApp {
def main(args:Array[String]): Unit ={
//初始化配置:设置主机名和程序主类的名字
val conf = new SparkConf().setMaster("local").setAppName("JSONApp");
//通过conf来创建sparkcontext
val sc = new SparkContext(conf);
val inputFile = "file:///usr/local/spark/examples/src/main/resources/people.json"//读取json文件
val jsonStr = sc.textFile(inputFile);
val result = jsonStr.map(s => JSON.parseFull(s));//逐个JSON字符串解析
result.foreach(
{
r => r match {
case Some(map:Map[String,Any]) => println(map)
case None => println("parsing failed!")
case other => println("unknown data structure" + other)
}
}
);
}
}
2.将整个程序打包成jar包
3.通过spark-submit运行程序
4.查看结果
运行程序后,可以在屏幕上看到大量的输出信息,找到如下的信息,解析成功。
Unity3d-XML文件数据解析&;amp;JSON数据解析
1.XML文件数据解析:(首先须要导入XMLParser解析器,The latest released download from:http://dev.grumpyferret.com/unity/ ...
JSON数据解析 基础知识及链接收集
JSON数据解析学习 JSON介绍 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式. JSON 是存储和交换文本信息的语法.类似 XML.但是JSON 比 ...
iOS - JSON 数据解析
iOS - JSON 数据解析 前言 NS_CLASS_AVAILABLE(10_7, 5_0) @interface NSJSONSerialization : NSObject @availab ...
iOS开发笔记3:XML/JSON数据解析
这篇主要总结在iOS开发中XML/JSON数据解析过程用到的方法.XML数据解析主要使用SAX方式的NSXMLParser以及DOM方式的GDataXML,JSON数据解析主要使用NSJSONSeri ...
Android学习笔记之JSON数据解析
转载:Android学习笔记44:JSON数据解析 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种 ...
[开源 .NET 跨平台 数据采集 爬虫框架: DotnetSpider] [四] JSON数据解析
[DotnetSpider 系列目录] 一.初衷与架构设计 二.基本使用 三.配置式爬虫 四.JSON数据解析与配置系统 场景模拟 假设由于漏存JD SKU对应的店铺信息.这时我们需要重新完全采集所有 ...
浅谈JSON数据解析方法
JSON数据解析 JSON是什么?? 如何把JSON数据解析出来 如何把一个字典转换为JSON JSON详细介绍 JSON(JavaScript Object Notation) 是一种轻量级的数据交 ...
JSON数据解析(转)
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种理想的数据交换格式. 本文将主要介绍在Android ...
随机推荐
关于IE6的PNG图像透明使用AlphaImageLoader的缺点
PNG32的alpha透明效果在IE6下会出现bug,出现灰色背景.而目前的解决方案就是 IE提供的滤镜.需要注意的是滤镜并不是对原图片进行修改,而是对相应的html元素进行 修改.所以在一个html ...
Flex box弹性布局 及 响应式前端设计的优化
Flex box弹性布局 Flex box是CSS3新添加的一种模型属性,它的出现有力的打破了我们常常使用的浮动布局.实现垂直等高.水平均分.按比例划分,可以实现许多我们之前做不到的自适应布局.如果你 ...
oracle 查询当前库中所有表以及某表字段信息
select utc.COLUMN_ID,utc.TABLE_NAME,utc.COLUMN_NAME,utc.DATA_TYPE||utc.DATA_LENGTH,utc.DATA_DEFAULT, ...
学习VirtualEnv和Nginx+uwsgi用于django项目部署
以下叙述中用到的操作系统:Linux CentOS 6.X. 最近几天了解一下VirtualEnv,Apache+Daemon mode,Nginx+uwsgi的概念,并且在项目中实验性部署了一下(目 ...
Docker - Failed to connect to localhost port 4000: Connection refused
转载.翻译自 https://stackoverflow.com/questions/44014698/docker-failed-to-connect-to-localhost-port-4000- ...
ZOJ 2480 - Simplest Task in Windows
Simplest Task in Windows Time Limit: 2 Seconds Memory Limit: 65536 KB A typical windows platfor ...
asp.netajax与jquery和bootstrap的无刷新完美实现
20190421asp.netajax与jquery和bootstrap的无刷新完美实现 设计代码和后台代码中重要部分加粗和深色以及字号加大. 设计前台代码:
04 python 初学(数据类型)
数据类型: 数字: 整数 int (integer) python3 已经不区分整型和长整型了,都叫整型 浮点型 float 复数 complex 布尔: True False 字符串 ...
(网页)javascript小技巧(非常全)
事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture(); event.srcE ...
js删除数组中元素的方法
一.清空数组 var ary = [1,2,3,4]; ary.splice(0,ary.length);//清空数组 console.log(ary); // 输出 [],空数组,即被清空了 二.删 ...
spark中读取json_【spark】文件读写和JSON数据解析相关推荐
- spark中读取json_【Spark】使用DataFrame读取复杂JSON中的嵌套数组
众所周知,在早期Spark版本中就已经支持读取Json格式的数据文件,并能够直接转换为数据库表,以方便我们进行处理数据,在本篇文章中我们将介绍如何通过Spark API很简单地读取Json数据,并进一 ...
- sublime python3中读取和写入文件时如何解决编码问题
sublime python3中读取和写入文件时如何解决编码问题 参考文章: (1)sublime python3中读取和写入文件时如何解决编码问题 (2)https://www.cnblogs.co ...
- 计算机目录读取,从项目目录中读取SQL查询文件(Read SQL query file from project directory)...
从项目目录中读取SQL查询文件(Read SQL query file from project directory) 我在Visual Studio项目中放置了3个特别大的SQL查询,位于项目目录中 ...
- C#中读取流媒体视频文件转H.264具体实现方法
现在有越来越多的人在使用C#语言做编程,但我发现好像用C#做音视频流媒体开发的比较少.我们的libEasyScreenLive目前支持Windows,Android平台,通过EasyScreenLiv ...
- 基于QT的【第一个项目】设计+所有组件配合使用+网络编程局域网通信+文件IO操作+登录界面和头像+多界面跳转+JSON数据解析+表情包制作
基于QT的第一个项目+所有组件配合使用+网络编程局域网通信+文件IO操作+登录界面和头像+多界面跳转+JSON数据解析+表情包制作 第一阶段 网络编程局域网TCP/IP聊天QT实现 main.c ma ...
- python将txt文件转为字符串_python如何将txt文件转成json数据
python如何将txt文件转成json数据,首先我们要明白json的数据格式是如何的,实际上和python的字典格式几乎是一样的,也是需要一个大括号给括起来,知道了这点我们就知道怎么处理了. 工具/ ...
- Winform中怎样使用HttpClient调用http的get和post接口并将接口返回json数据解析为实体类
场景 需要在Winform的页面初始化之后,调用http的接口,并将返回的json数据 解析,赋值到窗体中的TextBox组件中. 使用接口测试工具测试的接口返回数据如下 注: 博客: 霸道流氓气质的 ...
- 下列哪项不是python中对文件的读取操作-Python—文件读写操作
初识文件操作 使用open()函数打开一个文件,获取到文件句柄,然后通过文件句柄就可以进行各种各样的操作了,根据打开文件的方式不同能够执行的操作也会有相应的差异. 打开文件的方式: r, w, a, ...
- Android单元测试读写文件,如何在Android单元测试中读取仅测试文件
对于我的Android应用程序,我正在编写需要读取一些文件的单元测试. 由于这些是仅测试文件,因此我不希望它们出现在res文件夹中,因为我不希望它们最终出现在最终的.apk文件中. 我想做与此问题类似 ...
最新文章
- 网卡故障:弹出界面eth0: 错误:没有找到合适的设备:没有找到可用于链接System eth0 的
- AIX 中关于文件存储的相关命令
- 十条nmap常用的扫描命令
- matlab 万年历,matlab时钟万年历 matlab时钟万年历(附word说明文档): 
程序主要 联合开发网 - pudn.com...
- .NET回归 HTML----超文本标记语言(暂时无图)
- 不再为 Node.js 模块自动引入 Polyfills
- 我国计算机系统安全保护等级的划分,信息安全技术题库:我国制定了强制性国家标准《计算机信息系统安全保护等级划分准则》,其中属于第二级的是()。...
- 兄弟节点div, +~选择器不能向前选择
- Sybase获取所有用户表,以及所有者(owner)
- Android studio显示红叉,提示Error:please select android sdk
- C# Aspose 去除水印 亲测有效!!!(有效测试时间:20220806)
- 收藏十一种常用简单实用漂亮的HTML表格样式
- v-distpicker 直辖市的修改
- 从有赞UI组件库看CSS BEM命名规范的好处
- wps如何只让他显示3级标题_怎么设置一二三级标题
- NIXIE_TUBE
- 安全模式没有计算机图标不见了怎么办,win10杀毒图标不见了怎么办?win10安全中心图标没了的处理方法...
- Java Web关键字填空
- 编码的秘密(python版)
- 如何查看MySQL数据库的版本