日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

IDEA 開發配置SparkSQL及簡單使用案例代碼

瀏覽:31日期:2024-07-12 16:26:18
1.添加依賴

在idea項目的pom.xml中添加依賴。

<!--spark sql依賴,注意版本號--><dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-sql_2.12</artifactId> <version>3.0.0</version></dependency>2.案例代碼

package com.zf.bigdata.spark.sqlimport org.apache.spark.SparkConfimport org.apache.spark.rdd.RDDimport org.apache.spark.sql.{DataFrame, Dataset, Row, SparkSession}object Spark01_SparkSql_Basic { def main(args: Array[String]): Unit = {//創建上下文環境配置對象val sparkConf = new SparkConf().setMaster('local[*]').setAppName('sparkSql')//創建 SparkSession 對象val spark = SparkSession.builder().config(sparkConf).getOrCreate()// DataFrameval df: DataFrame = spark.read.json('datas/user.json')//df.show()// DataFrame => Sql//df.createOrReplaceTempView('user')//spark.sql('select * from user').show()//spark.sql('select age from user').show()//spark.sql('select avg(age) from user').show()//DataFrame => Dsl//如果涉及到轉換操作,轉換需要引入隱式轉換規則,否則無法轉換,比如使用$提取數據的值//spark 不是包名,是上下文環境對象名import spark.implicits._//df.select('age','username').show()//df.select($'age'+1).show()//df.select(’age+1).show()// DataSet//val seq = Seq(1,2,3,4)//val ds: Dataset[Int] = seq.toDS()// ds.show()// RDD <=> DataFrameval rdd = spark.sparkContext.makeRDD(List((1,'張三',10),(2,'李四',20)))val df1: DataFrame = rdd.toDF('id', 'name', 'age')val rdd1: RDD[Row] = df1.rdd// DataFrame <=> DataSetval ds: Dataset[User] = df1.as[User]val df2: DataFrame = ds.toDF()// RDD <=> DataSetval ds1: Dataset[User] = rdd.map { case (id, name, age) => {User(id, name = name, age = age) }}.toDS()val rdd2: RDD[User] = ds1.rddspark.stop() } case class User(id:Int,name:String,age:Int)}

PS:下面看下在IDEA中開發Spark SQL程序

IDEA 中程序的打包和運行方式都和 SparkCore 類似,Maven 依賴中需要添加新的依賴項:

<dependency><groupId>org.apache.spark</groupId><artifactId>spark-sql_2.11</artifactId><version>2.1.1</version></dependency>一、指定Schema格式

import org.apache.spark.sql.SparkSessionimport org.apache.spark.sql.types.StructTypeimport org.apache.spark.sql.types.StructFieldimport org.apache.spark.sql.types.IntegerTypeimport org.apache.spark.sql.types.StringTypeimport org.apache.spark.sql.Rowobject Demo1 { def main(args: Array[String]): Unit = { //使用Spark Session 創建表 val spark = SparkSession.builder().master('local').appName('UnderstandSparkSession').getOrCreate() //從指定地址創建RDD val personRDD = spark.sparkContext.textFile('D:tmp_filesstudent.txt').map(_.split('t')) //通過StructType聲明Schema val schema = StructType( List(StructField('id', IntegerType),StructField('name', StringType),StructField('age', IntegerType))) //把RDD映射到rowRDD val rowRDD = personRDD.map(p=>Row(p(0).toInt,p(1),p(2).toInt)) val personDF = spark.createDataFrame(rowRDD, schema) //注冊表 personDF.createOrReplaceTempView('t_person') //執行SQL val df = spark.sql('select * from t_person order by age desc limit 4') df.show() spark.stop() }}二、使用case class

import org.apache.spark.sql.SparkSession//使用case classobject Demo2 { def main(args: Array[String]): Unit = { //創建SparkSession val spark = SparkSession.builder().master('local').appName('CaseClassDemo').getOrCreate() //從指定的文件中讀取數據,生成對應的RDD val lineRDD = spark.sparkContext.textFile('D:tmp_filesstudent.txt').map(_.split('t')) //將RDD和case class 關聯 val studentRDD = lineRDD.map( x => Student(x(0).toInt,x(1),x(2).toInt)) //生成 DataFrame,通過RDD 生成DF,導入隱式轉換 import spark.sqlContext.implicits._ val studentDF = studentRDD.toDF //注冊表 視圖 studentDF.createOrReplaceTempView('student') //執行SQL spark.sql('select * from student').show() spark.stop() }}//case class 一定放在外面case class Student(stuID:Int,stuName:String,stuAge:Int)三、把數據保存到數據庫

import org.apache.spark.sql.types.IntegerTypeimport org.apache.spark.sql.types.StringTypeimport org.apache.spark.sql.SparkSessionimport org.apache.spark.sql.types.StructTypeimport org.apache.spark.sql.types.StructFieldimport org.apache.spark.sql.Rowimport java.util.Propertiesobject Demo3 { def main(args: Array[String]): Unit = { //使用Spark Session 創建表 val spark = SparkSession.builder().master('local').appName('UnderstandSparkSession').getOrCreate() //從指定地址創建RDD val personRDD = spark.sparkContext.textFile('D:tmp_filesstudent.txt').map(_.split('t')) //通過StructType聲明Schema val schema = StructType( List(StructField('id', IntegerType),StructField('name', StringType),StructField('age', IntegerType))) //把RDD映射到rowRDD val rowRDD = personRDD.map(p => Row(p(0).toInt, p(1), p(2).toInt)) val personDF = spark.createDataFrame(rowRDD, schema) //注冊表 personDF.createOrReplaceTempView('person') //執行SQL val df = spark.sql('select * from person ') //查看SqL內容 //df.show() //將結果保存到mysql中 val props = new Properties() props.setProperty('user', 'root') props.setProperty('password', '123456') props.setProperty('driver', 'com.mysql.jdbc.Driver') df.write.mode('overwrite').jdbc('jdbc:mysql://localhost:3306/company?serverTimezone=UTC&characterEncoding=utf-8', 'student', props) spark.close() }}

以上內容轉自:https://blog.csdn.net/weixin_43520450/article/details/106093582作者:故明所以

到此這篇關于IDEA 開發配置SparkSQL及簡單使用案例代碼的文章就介紹到這了,更多相關IDEA 開發 SparkSQL內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: IDEA
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久久国产精品网站| 性色一区二区| 99免费精品| 69堂免费精品视频在线播放| 久久中文字幕二区| 亚洲一级少妇| 精品国产99| 精品视频在线观看网站| 亚洲精品无吗| 免费观看在线综合| 日韩一区二区免费看| 欧美激情网址| 欧美精品观看| 狠狠爱www人成狠狠爱综合网| 久久精品国产99国产| 日韩欧美中文在线观看| 影音先锋久久精品| 国产精品午夜一区二区三区| 亚洲午夜国产成人| 亚欧成人精品| 日本成人精品| 精品视频网站| 伊伊综合在线| 国产91在线精品| 日韩精品91| 免费av一区| 欧美日韩视频免费观看| 成人在线网站| 日本国产精品| 蜜桃久久av一区| 福利精品在线| 久久不射网站| 国产一区二区三区四区二区| 丝袜a∨在线一区二区三区不卡| 国产一二在线播放| 欧美极品一区二区三区| 一级成人国产| 日韩国产一区二区| 国产欧美另类| 蜜桃视频第一区免费观看| 欧美日韩一区二区高清| 成人午夜国产| 日韩av网站在线免费观看| 成人一区而且| 亚洲最新无码中文字幕久久| 亚洲主播在线| 日韩免费在线| 美女久久精品| 天堂va在线高清一区| 欧美成人基地| 欧美有码在线| 极品日韩av| 国产精品亚洲二区| 日韩视频一区| 久久亚洲国产精品尤物| 奶水喷射视频一区| 麻豆一区二区三区| 久久国产高清| 日韩精品第一区| 国产高清日韩| 日本亚洲最大的色成网站www | 美女国产精品| 岛国av在线网站| 九九99久久精品在免费线bt| 蜜臀av一区二区在线免费观看| 国产一二在线播放| 国产精品午夜一区二区三区| 蜜桃久久久久久| 亚洲欧美伊人| av高清不卡| 老司机免费视频一区二区| 亚洲欧洲av| 亚洲欧洲一区| 久久国产小视频| 波多野结衣久久精品| 精品国产aⅴ| 欧美91在线|欧美| 精品久久久网| 中文在线资源| 日韩欧美二区| 成人国产精品一区二区网站| 免费一级欧美片在线观看网站| 国产乱码精品一区二区三区亚洲人 | 麻豆视频观看网址久久| 日韩1区2区日韩1区2区| 蜜芽一区二区三区| 四虎在线精品| 国产一区不卡| 婷婷综合在线| 中文字幕一区二区三区在线视频| 香蕉久久久久久| 91成人小视频| 国产成人精品三级高清久久91| 亚洲精品观看| 欧美成人一二区| 久久久久久久欧美精品| 欧美a级一区二区| 香蕉久久99| 亚洲毛片在线免费| 你懂的网址国产 欧美| 97在线精品| 午夜在线一区二区| 久久免费精品| 国产精品久久久久久妇女| 国产精品一区二区中文字幕| 日韩欧美一区二区三区免费看| 国产亚洲精品v| 亚洲精品97| 亚洲bt欧美bt精品777| 精品亚洲成人| 在线看片日韩| 鲁鲁在线中文| 丝袜亚洲另类欧美| 国产一区二区三区成人欧美日韩在线观看 | 色88888久久久久久影院| 黄色成人精品网站| 久久精品国产99国产精品| 日韩中文字幕不卡| 肉色欧美久久久久久久免费看| 日韩欧美高清一区二区三区| 国产欧美88| 中文字幕一区二区三区日韩精品| 91一区二区| 麻豆精品国产91久久久久久| 亚洲精品福利| 日韩视频中文| 激情婷婷久久| а√天堂8资源在线| 久久91视频| 日本一区二区三区视频在线看| 午夜国产欧美理论在线播放| 91精品福利| 99久久精品费精品国产| 免费观看亚洲| 九九久久国产| 久久精品一区| 91精品一区二区三区综合| 国产精品丝袜xxxxxxx| 日本亚洲欧洲无免费码在线| 国产精品黄网站| 黄色在线网站噜噜噜| 国产91久久精品一区二区| 丝袜美腿亚洲一区二区图片| 日韩av中文字幕一区二区| 韩国女主播一区二区三区| 亚洲国产专区| 欧美一级二级三级视频| 伊人久久在线| 中文字幕av一区二区三区四区| 麻豆国产一区| 女人av一区| 日本在线成人| 999精品色在线播放| 欧美一级二级视频| 91久久在线| 成人在线超碰| 日韩高清在线观看一区二区| 久久香蕉网站| 日韩精品乱码av一区二区| 成人羞羞在线观看网站| 日韩高清不卡一区二区| 欧美日韩视频| 欧美13videosex性极品| 日韩欧美激情| 亚洲专区一区| 亚洲美女久久精品| 国产精品久久久久久久久免费高清| 久久理论电影| 国产成人精品福利| 免费看黄色91| 日韩精品永久网址| 国产aⅴ精品一区二区三区久久 | 欧美+亚洲+精品+三区| 国产传媒在线观看| 捆绑调教美女网站视频一区| 日韩国产在线一| 日韩午夜视频在线| 亚洲一级淫片| 久久国产精品99国产| 婷婷精品视频| 国产一区二区亚洲| 国产探花在线精品一区二区| 蜜桃视频免费观看一区| 噜噜噜久久亚洲精品国产品小说| 日韩欧美激情| 日韩和欧美的一区| 久久精品伊人| 日韩国产综合| 国产精品毛片在线| 亚洲伊人精品酒店| 欧美激情福利| 蜜臀久久99精品久久一区二区| 免费观看久久久4p| 国产精品对白| 精品美女视频| 国产亚洲一区在线| 国产精品一区二区av交换| 91一区二区三区四区| 欧美日韩国产在线观看网站 | 日韩午夜在线|