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

          軟件下載吧

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

          Spark SQL 2.4.8 操作 Dataframe的兩種方式

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

          一、測試數據

          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

          相關下載

          查看所有評論+

          網友評論

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

          熱門閱覽

          最新排行

          公眾號

          主站蜘蛛池模板: 亚洲一区二区三区深夜天堂| 色老板在线视频一区二区| 久久精品免费一区二区喷潮| 一区二区三区免费视频播放器| 欧美亚洲精品一区二区| 无码精品人妻一区二区三区免费看 | 国内精品视频一区二区八戒| 久久无码一区二区三区少妇| 波多野结衣一区在线观看| 国内精品一区二区三区东京| 亚洲AV日韩AV天堂一区二区三区| 亚洲一区二区三区免费| 日本精品一区二区三区在线视频一| 97精品一区二区视频在线观看 | 国产一区在线mmai| 国产精品日本一区二区在线播放| 国产精品99无码一区二区| 北岛玲在线一区二区| 精品女同一区二区| 日本高清无卡码一区二区久久 | 无码人妻AⅤ一区二区三区水密桃 无码欧精品亚洲日韩一区夜夜嗨 无码毛片一区二区三区中文字幕 无码毛片一区二区三区视频免费播放 | 国产亚洲福利一区二区免费看| 国产福利酱国产一区二区| 午夜在线视频一区二区三区| 精品国产免费一区二区| 国产一区内射最近更新| 一级特黄性色生活片一区二区| 亚洲国产精品成人一区| 国产一区三区三区| 国产精品毛片VA一区二区三区| 国产爆乳无码一区二区麻豆| 亚洲视频免费一区| 国产精品久久久久久一区二区三区| 成人一区专区在线观看 | 亚洲国产视频一区| 亚洲AV日韩综合一区| 国产一区二区三区日韩精品| 亚洲一区无码精品色| 日产精品久久久一区二区| 亚洲色精品VR一区区三区| 国偷自产视频一区二区久|