【Spark】DStream轉DataFrame

  1. 使用split(",")分割數據,前提是你的數據是以逗號分隔的;
  2. 分隔後得到Array,根據索引獲取對應的值,且== 一定要轉換爲數據表對應字段的數據類型==;
  3. toDF(),裏面填寫表的字段名
  4. saveToPhoenix() 這個是通過Phoenix保存到HBase的操作
val stream = context("heatData")
val sqlContext = sparkSession.sqlContext
import org.apache.phoenix.spark._
import sqlContext.implicits._
stream.foreachRDD(rdd => {
 rdd.map(_.value().split(","))
   .map(item => (
     item(0).toInt,
     item(1).toInt,
     item(2).toDouble,
     item(3).toDouble,
     item(4).toDouble,
     item(5).toLong) )
   .toDF("ID", "CONSUMERID", "TEMPERATURE", "PRESSURE", "FLOW", "CREATEDATE")
   .saveToPhoenix(Map("table" -> "heatData", "zkUrl" -> "hbase:2181"))

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章