Spark基础(5)文件数据读写

16 篇文章 0 订阅
  • 本地文件系统的数据读写
scala> val textFile = sc.textFile("file:///usr/local/spark/mycode/wordcount/word.txt")
scala> textFile.saveAsTextFile("file:///usr/local/spark/mycode/wordcount/writeback.txt")
  • 分布式文件系统HDFS的数据读写
scala> val textFile = sc.textFile("hdfs:///localhost:9000/user/hadoop/word.txt")
scala> textFile.first() // 行动操作触发转换操作

scala> val textFile = sc.textFile("word.txt")
scala> textFile.saveAsTextFile("writeback.txt")
  • JSON文件数据读写

JSON是一种轻量级的数据交换格式。把本地文件系统中的people.json文件加载到RDD中

scala> val jsonStr = sc.textFile("file:///usr/local/spark/examples/src/main/resource/people.json")
scala> jsonStr.foreach(println)

编写程序完成对JSON数据的解析工作。Scala中有一个自带的JSON库:scala.util.parsing.json.JSON,可以实现对JSON数据的解析。

JSON.parseFull(jsonString:String)函数,以一个JSON字符串作为输入并进行解析,如果解析成功则返回一个some(map: Map[String, Any]),如果解析失败则返回None。

在testjson.scala代码文件中输入以下内容

import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConf
import scala.util.parsing.json.JSON
object JSONApp{
    def main(args:Array[String]){
        val inputFile = "pathToFile"
        val conf = new SparkConf().setAppName("JSONApp")
        val sc = new SparkContext(conf)
        val jsonStrs = sc.textFile(inputFile)
        val result = jsonStrs.map(s => JSON.parseFULL(s))
        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)
    }
})
}
}

将整个程序打包成JAR包,通过spark-submit程序运行(运行后可得到结果输出信息)

$ /usr/local/spark/bin/spark-submit --class "JSONApp"
$ /usr/local/spark/mycode/json/target/scala-2.11/json-project_2.11-1.0.jar
  • 读写HBase数据

HBase是google的BigTable开源实现的原版。

HBase是一个稀疏、多维度、排序的映射表,这张表的索引是行键、列键、列限定符和时间戳。

每个值是一个未经解释的字符串,没有数据类型。

用户在表中存储数据,每一行都有一个可排序的行键和任意多的列。

时间戳:每个单元格都保存着同一份数据的多个版本,这些版本采用时间戳进行索引。

列项定符:列族里面的数据通过列限定符(或列)来定位。

单元格:在HBase表中,通过行、列族和列限定符确定一个“单元格”(cell),单元格中存储的数据没有数据类型,总被视为字节数组byte[ ]。

HBase中需要根据行键列族列限定符时间戳来确定一个单元格,因此可以视为“四维坐标”。

  • 创建一个HBase表

HBase数据库安装教程:厦门大学数据库实验室

(相关读数据,写数据等暂时没看)

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值