下載吧 - 綠色安全的游戲和軟件下載中心

軟件下載吧

當前位置:軟件下載吧 > 數據庫 > MS_SQL > Spark SQL 2.4.8 操作 Dataframe的兩種方式

Spark SQL 2.4.8 操作 Dataframe的兩種方式

時間:2024-02-07 12:09作者:下載吧人氣:17

一、測試數據

7369,SMITH,CLERK,7902,1980/12/17,800,20
7499,ALLEN,SALESMAN,7698,1981/2/20,1600,300,30
7521,WARD,SALESMAN,7698,1981/2/22,1250,500,30
7566,JONES,MANAGER,7839,1981/4/2,2975,20
7654,MARTIN,SALESMAN,7698,1981/9/28,1250,1400,30
7698,BLAKE,MANAGER,7839,1981/5/1,2850,30
7782,CLARK,MANAGER,7839,1981/6/9,2450,10
7788,SCOTT,ANALYST,7566,1987/4/19,3000,20
7839,KING,PRESIDENT,1981/11/17,5000,10
7844,TURNER,SALESMAN,7698,1981/9/8,1500,0,30
7876,ADAMS,CLERK,7788,1987/5/23,1100,20
7900,JAMES,CLERK,7698,1981/12/3,9500,30
7902,FORD,ANALYST,7566,1981/12/3,3000,20
7934,MILLER,CLERK,7782,1982/1/23,1300,10

二、創建DataFrame

方式一:DSL方式操作

  • 實例化SparkContext和SparkSession對象
  • 利用StructType類型構建schema,用于定義數據的結構信息
  • 通過SparkContext對象讀取文件,生成RDD
  • 將RDD[String]轉換成RDD[Row]
  • 通過SparkSession對象創建dataframe
  • 完整代碼如下:
package com.scala.demo.sql

import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.sql.{Row, SparkSession}
import org.apache.spark.sql.types.{DataType, DataTypes, StructField, StructType}

object Demo01 {
  def main(args: Array[String]): Unit = {
    // 1.創建SparkContext和SparkSession對象
    val sc = new SparkContext(new SparkConf().setAppName("Demo01").setMaster("local[2]"))
    val sparkSession = SparkSession.builder().getOrCreate()

    // 2. 使用StructType來定義Schema
    val mySchema = StructType(List(
      StructField("empno", DataTypes.IntegerType, false),
      StructField("ename", DataTypes.StringType, false),
      StructField("job", DataTypes.StringType, false),
      StructField("mgr", DataTypes.StringType, false),
      StructField("hiredate", DataTypes.StringType, false),
      StructField("sal", DataTypes.IntegerType, false),
      StructField("comm", DataTypes.StringType, false),
      StructField("deptno", DataTypes.IntegerType, false)
    ))
    // 3. 讀取數據
    val empRDD = sc.textFile("file:///D:\TestDatas\emp.csv")

    // 4. 將其映射成ROW對象
    val rowRDD = empRDD.map(line => {
      val strings = line.split(",")
      Row(strings(0).toInt, strings(1), strings(2), strings(3), strings(4), strings(5).toInt,strings(6), strings(7).toInt)
    })

    // 5. 創建DataFrame
    val dataFrame = sparkSession.createDataFrame(rowRDD, mySchema)

    // 6. 展示內容 DSL
	dataFrame.groupBy("deptno").sum("sal").as("result").sort("sum(sal)").show()
  }
}
標簽MSSQL,SQLServer,技術文檔,數據庫,SQLSERVER

相關下載

查看所有評論+

網友評論

網友
您的評論需要經過審核才能顯示

熱門閱覽

最新排行

公眾號

主站蜘蛛池模板: 夜夜高潮夜夜爽夜夜爱爱| 极品人妻少妇一区二区三区| 国产视频福利一区| 亚洲国产精品综合一区在线| 天天综合色天天桴色| 日韩亚洲欧美综合一区二区三区| 国产一级视频免费| xxxx日本免费| 欧美日韩国产片| 国产成人久久精品二区三区| 中文字幕免费在线观看| 男人j桶进女人p| 国产精品久久久久久久久齐齐| 久久亚洲伊人中字综合精品| 精品国产国产综合精品| 在线中文字幕观看| 亚洲av第一网站久章草| 进击的巨人第一季动漫樱花动漫| 成人区人妻精品一区二区不卡 | 污视频网站免费观看| 国产精品内射视频免费| 久久综合丝袜日本网| 色聚网久久综合| 女地狱肉之壶极限调教2| 亚洲日韩亚洲另类激情文学| 色一情一乱一乱91av| 日朝欧美亚洲精品| 免费人成黄页在线观看国产| 8090韩国理伦片在线天堂| 最近最好的中文字幕2019免费| 国产乱人伦AV在线麻豆A| www夜片内射视频日韩精品成人| 欧美色图亚洲图片| 国产愉拍精品视频手机| 三年片在线观看免费观看大全中国 | 欧美三级黄视频| 国产亚洲视频在线| 一区二区高清在线观看| 欧美日韩一区二区三区在线观看视频 | 国产伦一区二区三区免费| 三年在线观看免费观看完整版中文|