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))

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM