日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

学习笔记Spark(八)—— Spark SQL应用(3)—— Spark DataSet基础操作

發布時間:2025/3/21 数据库 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 学习笔记Spark(八)—— Spark SQL应用(3)—— Spark DataSet基础操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

三、Spark DataSet基本操作

3.1、DataSet簡介

  • DataSet是分布式的數據集合,DataSet提供了強類型支持,也是在RDD的每行數據加了類型約束。
  • DateSet整合了RDD和DataFrame的優點,支持結構化和非結構化數據。
  • DataFrame表示為DataSet[Row],即DataSet的子集。
  • DataSet是面向對象的編程接口,可以通過JVM的對象進行構建DataSet。

3.1.1、DataFrame的缺點

  • 編譯時不能類型轉化安全檢查,運行時才能確定是否有問題
  • 對于對象支持不友好,rdd內部數據直接以java對象存儲,dataframe內存存儲的是row對象而不能是自定義對象

  • 3.1.2、DateSet的優點

  • DateSet整合了RDD和DataFrame的優點,支持結構化和非結構化數據
  • 和RDD一樣,支持自定義對象存儲
  • 和DataFrame一樣,支持結構化數據的sql查詢
  • 采用堆外內存存儲,gc友好
  • 類型轉化安全,代碼友好

  • 3.2、創建DataSet

    • 從集合創建DataSet
    • 從rdd創建DataSet
    • 從DataFrame創建DataSet

    3.2.1、從集合創建DataSet

    createDataset[T](data: List[T])


    3.2.2、從rdd創建DataSet

    createDataset[T](data: RDD[T])


    3.2.3、從DataFrame創建DataSet

    dataSet=dataFrame.as[強類型]



    任務1:讀取Hive表中的超市商品銷售數據

    • 創建Hive表
    • 導入用戶購買數據到Hive表
    • 讀取Hive表數據創建DataSet

    數據 GoodOrder.csv:

    步驟:
    ① 因為是csv,所以我們先上傳到hdfs上

    ② 打開spark-shell,通過DataFrame方式保存到hive中

    hive中查看數據:

    ③ 讀取Hive表數據創建DataSet


    3.3、DataSet API

    應用示例
    (這是一個DataSet)


    任務2:統計每件商品的銷量

    • 根據商品分組統計商品銷量
    • 將統計結果保存到Hive

      hive查看:

    總結

    以上是生活随笔為你收集整理的学习笔记Spark(八)—— Spark SQL应用(3)—— Spark DataSet基础操作的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。