Spark之从hdfs读取数据

Posted Mars.wang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark之从hdfs读取数据相关的知识,希望对你有一定的参考价值。

var hv=sc.textFile("hdfs://192.168.15.30:8020/user/hive/warehouse/ycapp.db/appindex")
var hivedata=hv.map(_.split("\t")).map(e => ( e(1), e(2),e(0).toInt))
(String, String, String) = (9,2017-07-26,all_posts)
-- 访问第一行的第一列元素
hivedata.first()._1  
-- 把三列数据中的第一列筛选出来
var hivedata1=hivedata.map(res=>res._1)
-- 第一列数据的排重数量
hivedata1.distinct().count()
-- 把第一列数据转化成键值对
var hivedata1_map= hivedata1.map(res=>(res,1))
-- 统计第一列数据的频数
var hivedata1_mapv=hivedata1_map.reduceByKey((x,y)=>x+y)
-- 取出数据中的第一列和第三列
var hivedata2=hivedata.map(res=>(res._1,res._3))
-- 统计第三列数据在第一列分组中的求和
ar hivedata2_mv =hivedata2.reduceByKey((x,y)=>x+y)
-- 统计多个key的groupby操作
var hivedata3=hivedata.map(res=>(res._1+res._2,res._3))
var hivedata3_mv=hivedata3.reduceByKey((x,y)=>x+y)
var hivedata3_mv2=hivedata3_mv.map(res=>(res._1.substring(0,10),res._1.substring(10),res._2))

 

以上是关于Spark之从hdfs读取数据的主要内容,如果未能解决你的问题,请参考以下文章

在spark udf中读取hdfs上的文件

【大数据】Spark 递归读取 HDFS

Hadoop HDFS编程 API入门系列之从本地上传文件到HDFS

如何使用Spark Streaming读取HBase的数据并写入到HDFS

spark 可以直接向hdfs 输入数据吗

Spark读取HDFS数据分区参考