1、文件格式

Spark对很多种文件格式的读取和保存方式都很简单。

(1)文本文件

读取:

将一个文本文件读取为一个RDD时,输入的每一行都将成为RDD的一个元素。

val input=sc.textFile("...")

也可以将多个完整的文本文件读取为一个pair RDD,其中键为文件名,值是文件内容。

例如:

val input=sc.whoTextFiles("...")

保存:

resulet.saveAsTextFile(outputfile)

(2)JSON

读取:

json是一种半结构化的数据格式,首先是可以像上述的文本文件一样来读取,然后进行解析。

在python中:

import json
data=input.map(lambda x: json.loads(x))

在scala中

 rdd=spark.read.json("...")

保存:

result=result.map(mapper.writeValueAsString(_))

(3)CSV文件

scala读取

import org.apache.spark.{SparkConf, SparkContext}
import java.io.StringReader val input = sc.textFile("...")
input.foreach(println)
val result = input.map{
line =>
val reader = new CSVReader(new StringReader(line))
reader.readNext()
}

scala保存

case class Person{name:String, fa:String}

val input=sc.whoTextFiles("...")
val result=input.flatMap(case (_,txt)=>
val reader=new CSVReader(new StringReader(txt));
reader.readAll().map(x=>Person(x(0),x(1)))
)

2、文件压缩

在大数据中,需要对数据进行压缩以节省存储空间和减少网络传输开销。 对大多数Hadoop输出格式来说,可指定一种压缩编解码器来压缩数据。 读压缩数据时,一些压缩编解码器可以推测压缩类型Spark(基于Hadoop神生态构建)原生的输入方式textFile和sequenceFile可自动处理一些类型压缩

3、文件系统

(1)HDFS

在Spark中使用HDFS 只要将输入路径指定为: hdfs://master:port/path 就好了

(2)Hive文件

要将hive-site.xml文件复制到Spark的../conf/目录下

还有其他的

Spark基础:(四)Spark 数据读取与保存的更多相关文章

  1. 【Spark机器学习速成宝典】基础篇03数据读取与保存(Python版)

    目录 保存为文本文件:saveAsTextFile 保存为json:saveAsTextFile 保存为SequenceFile:saveAsSequenceFile 读取hive 保存为文本文件:s ...

  2. TensorFlow基础笔记(1) 数据读取与保存

    https://zhuanlan.zhihu.com/p/27238630 WholeFileReader # 我们用一个具体的例子感受tensorflow中的数据读取.如图, # 假设我们在当前文件 ...

  3. 【原】Learning Spark (Python版) 学习笔记(二)----键值对、数据读取与保存、共享特性

    本来应该上周更新的,结果碰上五一,懒癌发作,就推迟了 = =.以后还是要按时完成任务.废话不多说,第四章-第六章主要讲了三个内容:键值对.数据读取与保存与Spark的两个共享特性(累加器和广播变量). ...

  4. Spark学习之数据读取与保存总结(一)

    一.动机 我们已经学了很多在 Spark 中对已分发的数据执行的操作.到目前为止,所展示的示例都是从本地集合或者普通文件中进行数据读取和保存的.但有时候,数据量可能大到无法放在一台机器中,这时就需要探 ...

  5. Spark学习之数据读取与保存(4)

    Spark学习之数据读取与保存(4) 1. 文件格式 Spark对很多种文件格式的读取和保存方式都很简单. 如文本文件的非结构化的文件,如JSON的半结构化文件,如SequenceFile结构化文件. ...

  6. Redis 小白指南(四)- 数据的持久化保存(草稿)

    Redis 小白指南(四)- 数据的持久化保存 简介 因为 redis 将数据保存在内存中,很容易诱发的一个问题就是,程序崩溃或服务器重启等情况如何保证数据的正常存储. 当我们以 redis 作为主数 ...

  7. Spark(十二)【SparkSql中数据读取和保存】

    一. 读取和保存说明 SparkSQL提供了通用的保存数据和数据加载的方式,还提供了专用的方式 读取:通用和专用 保存 保存有四种模式: 默认: error : 输出目录存在就报错 append: 向 ...

  8. Spark学习之数据读取与保存总结(二)

    8.Hadoop输入输出格式 除了 Spark 封装的格式之外,也可以与任何 Hadoop 支持的格式交互.Spark 支持新旧两套Hadoop 文件 API,提供了很大的灵活性. 要使用新版的 Ha ...

  9. Spark学习笔记4:数据读取与保存

    Spark对很多种文件格式的读取和保存方式都很简单.Spark会根据文件扩展名选择对应的处理方式. Spark支持的一些常见文件格式如下: 文本文件 使用文件路径作为参数调用SparkContext中 ...

随机推荐

  1. Linux 限制IP远程连接

    1.允许访问编辑 /etc/hosts.allow 文件,如下: sshd:all:allow                                      #允许所有 IP 远程 ssh ...

  2. 记录自己的踩坑第一天 | CSS:vertical-align 属性

    前言 最近老师让大家单独写前后端分离项目,真是大家卷完后端,一起去卷前端了.(我以前都是主要负责后端,处于只大致看的懂的级别,说多了都是泪啊). 真是处于一边学一边写的状态,基本就是每天早上看上两~三 ...

  3. JMeter学习笔记--并发登录测试

    账号密码读取文件 1.设置线程数为30,并发用户量就是30个用户同时登录 2.添加同步定时器 添加 Synchronizing Timer 同步定时器,为了阻塞线程,当线程数达到指定数量,再同时释放, ...

  4. AppGallery Connect场景化开发实战—注册订阅通知

    借助AppGallery Connect(以下简称AGC)的认证服务,云函数,短信服务等服务,当用户注册成功后,便可以在注册的手机号或者邮箱地址中收到一条应用的欢迎短信或者欢迎邮件.以便让开发者更快地 ...

  5. Calendar.set方法获取前一天的当前时刻

    获取前几天的当前时刻的时间方法 Calendar cal = Calendar.getInstance(); Date date = new Date();// 获取当前时间 cal.setTime( ...

  6. Python知识整理(二)

    6.高级特性--简化代码量 1.切片 L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3.即索引0,1,2,正好是3个元素. 如果第一个索引是0,还可以省略:L[:3] Python支持 ...

  7. [atAGC043B]123 Triangle

    不妨先操作一轮,使得$0\le a_{i}\le 2$ 结论:若序列中存在1,则答案为0或1 考虑归纳,注意到若序列中存在1,除非所有元素均为1,否则操作一轮后必然仍存在1,那么根据归纳假设即成立,而 ...

  8. [hdu7044]Fall with Fake Problem

    二分$T$​​​​​​​​和$S$​​​​​​​​第一个不同的位置,即需要对于$s$​​​​​​​​,判定是否存在$T[1,s]=S[1,s]$​​​​​​​​且满足条件的$T$​​​​ (注:这里的 ...

  9. [hdu6991]Increasing Subsequence

    令$f_{i}$​​表示以$i$​​为结尾的极长上升子序列个数,则有$f_{i}=\sum_{j<i,a_{j}<a_{i},\forall j<k<i,a_{k}\not\i ...

  10. [bzoj1106]立方体大作战

    先贪心,容易发现如果两个点中间没有点对,那么一定可以先把这两个点消掉分析一下,就可以发现这样两个点的答案就是这两个点对中间不成对的点数量扫描过去,线段树维护每一个点的权值(是否会被算入答案)即可 1 ...