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

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

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

瀏覽:30日期: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久久,三上悠亚国产精品一区二区三区
91国内精品| 美女免费视频一区| 岛国av在线播放| 麻豆一区二区三区| 国产毛片一区二区三区| 91精品国产自产在线丝袜啪| 免费成人在线影院| 亚洲一区不卡| 久久亚洲国产精品一区二区| 午夜在线精品| 国内激情久久| 国产精品毛片在线| 免费视频最近日韩| 日韩精品亚洲一区二区三区免费| 亚洲专区视频| 日本欧美在线| 国产精品66| 电影91久久久| 久久国产影院| 一区在线免费| 蜜桃视频一区二区三区在线观看| 亚洲精选久久| 国产日韩精品视频一区二区三区| 国产日产精品_国产精品毛片 | 久久国产小视频| 蜜桃国内精品久久久久软件9| 婷婷久久一区| 综合干狼人综合首页| 欧美日韩一区二区三区不卡视频| 欧美aa在线视频| 捆绑调教日本一区二区三区| 久久婷婷久久| 免费视频一区二区| 青青国产精品| 高清不卡一区| 免费视频一区三区| 亚洲精品看片| 美女性感视频久久| 久久精品成人| 免费人成在线不卡| 国产精品黄网站| 99精品在线| 免费精品视频最新在线| 国产日韩高清一区二区三区在线| 国产不卡人人| 日韩影院精彩在线| 国产精品tv| 激情欧美一区| 日韩精品免费视频人成| 久久精品九色| 国产精品99一区二区| 五月激激激综合网色播| 精品国产亚洲日本| 一区在线视频观看| 国产精品麻豆成人av电影艾秋| 福利一区二区| 免费日韩av片| 久久69成人| 日韩亚洲精品在线| 国产精品成人国产| 亚洲国产一区二区三区在线播放| 石原莉奈在线亚洲二区| 久久99精品久久久久久园产越南| 99久久久久国产精品| 国产亚洲精品v| 欧美激情aⅴ一区二区三区 | 国产精品一区二区三区www| 麻豆视频在线观看免费网站黄| 久久福利精品| 久久影院资源站| 国产女优一区| 久草免费在线视频| 日韩美女精品| 999视频精品| 日本三级亚洲精品| 久久人人99| 亚洲美女久久| 国产精品99一区二区三| 久久国产高清| 91一区二区| 国产99亚洲| 亚洲资源网站| 日韩精品亚洲一区二区三区免费| 美女久久99| 免费看精品久久片| 久久精品91| 精品无人区麻豆乱码久久久| 人人爽香蕉精品| 亚洲婷婷免费| 欧美亚洲免费| 午夜欧美精品| 欧美aa一级| 久久不卡国产精品一区二区| 羞羞答答国产精品www一本 | 国产精品hd| 亚洲精品一二| 美女网站一区| 日韩福利一区| 开心激情综合| 久久精品xxxxx| 亚洲免费福利一区| 亚洲专区欧美专区| 国产h片在线观看| 国产精品入口久久| 日韩欧美久久| 在线观看一区| 爽好久久久欧美精品| 激情综合自拍| 久久久久国产精品一区三寸 | 国产精品亲子伦av一区二区三区| 另类av一区二区| 婷婷色综合网| 欧美日韩精品一区二区视频| 国内精品伊人| 欧美激情视频一区二区三区免费| 91精品尤物| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲大全视频| 欧美一区三区| 五月天久久久| 黄色欧美日韩| 99在线观看免费视频精品观看| 午夜久久中文| 日韩欧美一区二区三区免费观看| 久久精品免费看| 精品国产亚洲日本| 风间由美中文字幕在线看视频国产欧美| 国产精品一页| 国产精品亚洲综合色区韩国| 国产乱码精品一区二区三区亚洲人| 日韩av中文在线观看| 亚洲丝袜美腿一区| 亚洲综合激情在线| 日本午夜精品久久久久| 91精品一区| 国产精品白丝一区二区三区| 麻豆国产一区| 国产suv精品一区二区四区视频| 黄色欧美在线| 精品捆绑调教一区二区三区| 日韩免费在线| 久久激情中文| 亚洲免费在线| 亚洲精品大片| 国产日韩免费| 精品国产一区二区三区2021| 精品成人18| 欧美aa在线观看| 日韩亚洲精品在线| 亚洲精品在线国产| 久久99久久久精品欧美| 亚洲国产福利| 欧美午夜不卡| 亚洲精品高潮| 99久久婷婷| 国产精品115| 日韩高清在线不卡| 国产精品日韩精品在线播放| 国产一区二区三区四区五区传媒| 欧洲av不卡| 亚洲在线成人| 首页国产欧美久久| 日韩动漫一区| 精品欠久久久中文字幕加勒比| 日韩电影二区| 国产精品免费看| 国产欧美激情| 日韩欧美少妇| 亚洲精品极品| 麻豆精品新av中文字幕| 日韩高清中文字幕一区二区| 香蕉国产精品| 91精品在线免费视频| 国产一区二区三区四区| 亚洲国产一区二区三区在线播放| 国产日韩一区二区三区在线| 热久久久久久久| 日韩黄色免费网站| 日本在线一区二区三区| 精品视频免费| 夜鲁夜鲁夜鲁视频在线播放| 神马午夜久久| 九九久久婷婷| 91麻豆精品| 欧美国产免费| 日本不卡视频一二三区| 免费在线视频一区| 欧美亚洲福利| 精品免费av在线| 亚洲v天堂v手机在线| 精品视频网站| 国产一区欧美| 国产精品对白久久久久粗| 亚洲欧美伊人| 麻豆国产精品| 日韩制服丝袜先锋影音| 日本久久精品| 视频一区中文字幕精品| 久久婷婷亚洲| 欧美激情综合|