亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
  • DataFrame? Spark平臺的分布式彈性數據集

    DataFrame RDD為基礎的分布式數據集, 是Row對象的集合

    DataSet是 DataFrame的一個特例, 強類型數據集

    ????DF 對 RDD的優勢:

    DF提供數據的結構信息

    DF定制化內存管理, 數據存放于JVM堆外內存

    DF先轉換為邏輯計劃在執行,對任何語言執行效率一樣

    DF提供更豐富API

    ????DataSet 對比DataFrame優點:

    具備DF優點

    Api面向對象

    #創建DataFrame方法:??讀文件或者?RDD轉換為DF
    sparkSession.read.json()
    sparkSession.read.csv()
    
    #RDD轉化為DF
    #通過自定義的case?class
    object?MyProject{
    ????case?class?Person(name:String,?age:Int)??#兩個列name和age
    ????????
    ????def?main(args:?Array[String]):?Unit={
    ????????val?sparkSession?=?SparkSession
    ????????????.builder()
    ????????????.master(master="local")????#本地運行
    ????????????.getOrCreate()
    ????????val?sparkContext?=?sparkSession.sparkContext
    ????????val?rdd?=?sparkContext.textFile("")
    ????????
    ????????val?rowRDD?=?rdd.map(_.split("?"))??#每一行空格切割
    ????????????.map(x?=>Person(x(0),x(1).toInt))??#rdd和caseClass關聯
    ????????
    ????????#執行toDF()方法將RDD轉換為DF
    ????????import?sparkSession.implicits._
    ????????val?df?=?rowRDD.toDF()
    ????????
    ????????df.show()
    ????????
    ????????sparkSession.stop()
    ????}
    }
    
    #通過自定義schema
    #val?rdd后開始
    val?schemaField?=?"name,?age"
    val?schemaString?=?schemaField.split(",")
    val?schema?=?StructType(
    ????List(
    ????????StructField(schemaString(0).StringType,?nullable=true),
    ????????StructField(schemaString(1).IntegerType,?nullable=true)
    ????)
    )
    #生成Row類型參數RDD
    val?rowRDD?=?rdd.map(_.split("?"))
    ????.map(x?=>Row(x(0),x(1).toInt))
    val?df?=?sparkSession.createDataFrame(rowRDD,schema)??#轉換成df
    #DataFrame轉換為RDD
    val?rdd?=?df.rdd
    
    #創建Dataset:
    #df轉化為dataset
    import?sparkSession.implicits_
    val?ds?=?df.as[Person]???#因為Row對象是Person對象
    
    #rdd轉換為dataset
    import?sparkSession.implicits_
    val?ds?=?sparkSession.createDataset(rdd)
    
    ##RDD和datatset
    toDS()?rdd->Dataset
    rdd()?Dataset->rdd
    ##Dataset和DataFrame
    toDF()?Dataset->DataFrame
    as[ElementTyle]?Dataframe->dataset
    查看全部
  • Spark SQL 邏輯計劃- 物理計劃 -優化

    查看全部
  • Spark SQL 分布式SQL引擎

    底層依賴RDD, 處理結構化數據的一個模塊

    入口:SparkSession (2.0之后)

    //Scala?不需要hive則不需要hivesupport
    val?spark?=?SparkSession.builder().enableHiveSupport().getOrCreate

    Spark SQL和hive區別:

    Hive基于Mapreduce框架實現SQL操作

    Spark SQL擁有Catalyst優化器, 支持不同數據源

    Spark SQL沒有自己的存儲, Hive集成HDFS?

    SparkSQL沒有自己的元數據管理,要依賴Hive

    Spark SQL 訪問 Hive 倉庫:

    1. SPARK_HOME/conf 下添加 hive-site.xml

    2. 啟動 thriftserver服務 : SPARK_HOME/sbin/start-thriftserver.sh

    查看全部
    0 采集 收起 來源:Spark SQL和Hive

    2022-04-01

  • 事實表,類似于全量表,維度表類似于增量表
    查看全部
  • 66666666666666

    查看全部
    0 采集 收起 來源:課程簡介

    2019-12-25

  • spark sql區別與hive 1. spark sql在內存中運算 2. spark sql 依賴catalst進行sql解析 3. spark sql訪問hive數據方式:spark sql—》thriftServer解析器—》metadata—》hive元數據
    查看全部
  • 記筆記
    查看全部
    0 采集 收起 來源:課程簡介

    2019-10-30

  • sparksql和hive對比

    sparksql有catalyst優化器

    sparksql 如何訪問hive:hive-site.xml放到SPARK_HOME/conf

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 然后/$SPARK_HOME/sbin/start-thriftserver.sh

    查看全部
    0 采集 收起 來源:Spark SQL和Hive

    2019-10-24

  • 很好
    查看全部
    0 采集 收起 來源:課程簡介

    2019-09-04

舉報

0/150
提交
取消
課程須知
本課程不是Spark零基礎入門課程,需要同學們在學習之前: 1、熟悉Spark的RDD是什么 2、用Spark Shell寫過簡單的迭代運算 3、使用過Scala開發簡單的Spark項目 4、了解Hadoop的HDFS原理 5、了解Hive的簡單使用 6、了解Linux基本命令 7、有Java開發基礎
老師告訴你能學到什么?
1、DataFrame/DataSet查詢操作(過濾,分組,排序) 2、Spark SQL自定義函數和窗口函數 3、Parquet列式存儲

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!