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

          軟件下載吧

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

          Spark SQL 2.4.8 操作 Dataframe的兩種方式

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

          一、測試數據

          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无码一区二区| 国产精品毛片VA一区二区三区| 波多野结衣一区在线| 国产精品久久久久一区二区三区| 无码精品黑人一区二区三区| 中文字幕在线精品视频入口一区| 日韩A无码AV一区二区三区| 多人伦精品一区二区三区视频| 国产精品制服丝袜一区| 亚洲色偷偷偷网站色偷一区| 亚洲A∨无码一区二区三区| 亚洲av无码一区二区三区乱子伦| 国产一区二区视频在线观看| 精品人妻一区二区三区毛片| 一区二区三区在线免费观看视频| 日韩一区二区三区视频| 一区二区不卡久久精品| 亚洲A∨精品一区二区三区| 无码精品前田一区二区| 日韩视频在线观看一区二区| 一区二区国产精品| 丰满爆乳一区二区三区| 国产丝袜美女一区二区三区| 熟女精品视频一区二区三区| 免费无码毛片一区二区APP| 亚洲精品一区二区三区四区乱码| 国产一区二区成人| 日韩精品午夜视频一区二区三区| 国产一区二区在线|播放| 亚洲国产高清在线一区二区三区 | 色妞色视频一区二区三区四区 | 亚洲av乱码一区二区三区| 末成年女A∨片一区二区| 国产福利91精品一区二区| 老熟妇高潮一区二区三区|