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. 重学STM32---(十)之CAN通信(二)

    目录 前言 程序编写 主代码 测试 前言   CAN协议是非常难的,但是在stm32中却是简单的,只需要我们配置寄存器即可,,,即使这样,我在学习的时候也遇到了许多困难 程序编写 1.开时钟,不用说 ...

  2. hdu 2955 Robberies(背包DP)

    题意: 小偷去抢银行,他母亲很担心. 他母亲希望他被抓的概率真不超过P.小偷打算去抢N个银行,每个银行有两个值Mi.Pi,Mi:抢第i个银行所获得的财产 Pi:抢第i个银行被抓的概率 求最多能抢得多少 ...

  3. 第02课 OpenGL 多边形

    你的第一个多边形: 在第一个教程的基础上,我们添加了一个三角形和一个四边形.也许你认为这很简单,但你已经迈出了一大步,要知道任何在OpenGL中绘制的模型都会被分解为这两种简单的图形.读完了这一课,你 ...

  4. Spring Boot 快速整合Swagger

    一.前言 Spring Boot作为当前最为流行的Java web开发脚手架,越来越多的开发者选择用其来构建企业级的RESTFul API接口.这些接口不但会服务于传统的web端(b/s),也会服务于 ...

  5. kafaka高效吞吐量-生产端,服务端,消费端

    零拷贝:sendfile 生产端 生产端:消息压缩,缓存批量发送,异步解耦 多线程并发:防止某一个业务阻塞等待 接收消息缓存 BufferPool设计:不释放 服务端 Reactor模型,顺序写,页缓 ...

  6. 一维前缀和 连续数组和为k

    给定一个整数数组和一个整数 k ,请找到该数组中和为 k 的连续子数组的个数. 滑动窗口没办法解决有负数的情况 方法一: 预处理 前缀和 sum_ij = preSum[j] - preSum[i-1 ...

  7. crond 任务调度

    crontab 进行定时任务的设置 任务调度:是指系统在某个时间执行的特定的命令或程序. 任务调度分类: 系统工作:有些重要的工作必须周而复始地执行.如病毒扫描等 个别用户工作:个别用户可能希望执行某 ...

  8. 设置IDEA启动,不要自动打开上次使用时的项目

    打开idea时自动加载最近编辑的项目,很费时间,关闭设置如下

  9. 带你理解MST性质

    写在前面 最小生成树的引出 假设要在n个城市之间建立通信联络网,则连通n个城市需要n-1条线路.在这种情况下,我们自然需要考虑一个问题,如何在最节省经费的条件下建立这个网络? 很自然地我们会想到,将各 ...

  10. [python]django rest framework写POST和GET接口

    版本声明 python3.6.5 Django-2.0.6 djangorestframework-3.8.2 mysqlclient-1.3.12 1.写一个登录接口,不多说,直接上代码 login ...