日韩小视频-日韩久久一区二区三区-日韩久久一级毛片-日韩久久久精品中文字幕-国产精品亚洲精品影院-国产精品亚洲欧美云霸高清

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

軟件下載吧

當(dāng)前位置:軟件下載吧 > 數(shù)據(jù)庫 > MS_SQL > Spark SQL 2.4.8 操作 Dataframe的兩種方式

Spark SQL 2.4.8 操作 Dataframe的兩種方式

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

一、測試數(shù)據(jù)

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

二、創(chuàng)建DataFrame

方式一:DSL方式操作

  • 實例化SparkContext和SparkSession對象
  • 利用StructType類型構(gòu)建schema,用于定義數(shù)據(jù)的結(jié)構(gòu)信息
  • 通過SparkContext對象讀取文件,生成RDD
  • 將RDD[String]轉(zhuǎn)換成RDD[Row]
  • 通過SparkSession對象創(chuàng)建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.創(chuàng)建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. 讀取數(shù)據(jù)
    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. 創(chuàng)建DataFrame
    val dataFrame = sparkSession.createDataFrame(rowRDD, mySchema)

    // 6. 展示內(nèi)容 DSL
	dataFrame.groupBy("deptno").sum("sal").as("result").sort("sum(sal)").show()
  }
}
標(biāo)簽MSSQL,SQLServer,技術(shù)文檔,數(shù)據(jù)庫,SQLSERVER

相關(guān)下載

查看所有評論+

網(wǎng)友評論

網(wǎng)友
您的評論需要經(jīng)過審核才能顯示

熱門閱覽

最新排行

公眾號

主站蜘蛛池模板: 精品免费久久久久久久 | 国产成人久久精品推最新 | 亚洲精品成人网久久久久久 | 91热播| 一本色道久久综合亚洲精品高清 | 99久久精品自在自看国产 | 日韩手机看片福利精品 | 久久精品99视频 | 久久精品国产亚洲网站 | 久久九 | 日本高清www片 | 国产精品性视频免费播放 | 国产成人av性色在线影院 | 欧美激情自拍 | 国产三级在线看 | 亚洲小视频在线播放 | 性xxx69xxx视频在线观看 | 一区视频 | 国产高清视频a在线大全 | 另类视频综合 | 三级国产在线观看 | 香港三级做爰大爽视频 | 欧美性猛交xxxx免费看手交 | 美女的让男人桶到爽软件 | 综合图片亚洲网友自拍10p | 欧美一级日韩在线观看 | 毛片99| 欧日韩视频 | 欧美日韩一区二区三区视频在线观看 | 男人扒开双腿女人爽视频免费 | 中国国语毛片免费观看视频 | 国产成人a在一区线观看高清 | 日本一二线不卡在线观看 | 国产欧美久久久精品影院 | 欧美一级大片免费看 | 欧美一区精品 | 91在线精品亚洲一区二区 | 亚洲精品在线看 | pgone太大了兽王免费视频 | 亚洲视频国产精品 | 特级片视频 |