当前位置: 首页 > news >正文

网站的速度网站首页排版

网站的速度,网站首页排版,湖北省住房建设部官方网站,深圳建站服务中心上面的是SparkSQL的API操作。 1. 将RDD转化为DataFrame对象 DataFrame#xff1a; DataFrame是一种以RDD为基础的分布式数据集#xff0c;类似于传统数据库中的二维表格。带有schema元信息#xff0c;即DataFrame所表示的二维表数据集的每一列都带有名称和类型。这样的数… 上面的是SparkSQL的API操作。 1. 将RDD转化为DataFrame对象 DataFrame DataFrame是一种以RDD为基础的分布式数据集类似于传统数据库中的二维表格。带有schema元信息即DataFrame所表示的二维表数据集的每一列都带有名称和类型。这样的数据集可以用SQL查询。 创建方式 准备数据 1 zhangsan 20 male 2 lisi 30 female 3 wangwu 35 male 4 zhaosi 40 female toDF方式。 package com.hainiu.sparkimport org.apache.spark.sql.SQLContext import org.apache.spark.{SparkConf, SparkContext}object TestSparkSql{def main(args: Array[String]): Unit {val conf new SparkConf()conf.setAppName(test sql)conf.setMaster(local[*])val sc new SparkContext(conf)val sqlSc new SQLContext(sc)//环境对象包装import sqlSc.implicits._//引入环境信息val rdd sc.textFile(data/a.txt).map(t {val strs t.split( )(strs(0).toInt, strs(1), strs(2).toInt)})//增加字段信息val df rdd.toDF(id, name, age)df.show() //展示表数据df.printSchema() //展示表格字段信息} } 使用样例类定义schema object TestSparkSql{def main(args: Array[String]): Unit {val conf new SparkConf()conf.setAppName(test sql)conf.setMaster(local[*])val sc new SparkContext(conf)val sqlSc new SQLContext(sc)import sqlSc.implicits._val rdd sc.textFile(data/a.txt).map(t {val strs t.split( )Student(strs(0).toInt, strs(1), strs(2).toInt)})// val df rdd.toDF(id, name, age)val df rdd.toDF()df.show() //打印数据以表格的形式打印数据df.printSchema() //打印表的结构信息} } case class Student(id:Int,name:String,age:Int) createDataFrame方式 这种方式需要将rdd和schema信息进行合并得出一个新的DataFrame对象 package com.hainiu.sparkimport org.apache.spark.sql.types.{IntegerType, StringType, StructField, StructType} import org.apache.spark.sql.{Row, SQLContext} import org.apache.spark.{SparkConf, SparkContext}object TestSparkSqlWithCreate {def main(args: Array[String]): Unit {val conf new SparkConf()conf.setAppName(test create)conf.setMaster(local[*])val sc new SparkContext(conf)val sqlSc new SQLContext(sc)val rdd sc.textFile(data/a.txt).map(t {val strs t.split( )Row(strs(0).toInt, strs(1), strs(2).toInt)}) // rdd schemaval schema StructType(Array(StructField(id,IntegerType),StructField(name,StringType),StructField(age,IntegerType)))val df sqlSc.createDataFrame(rdd, schema)df.show()df.printSchema()} } 2. SparkSQL的查询方式推荐第二种写法 第二个部分关于df的查询 第一种sql api的方式查询 使用的方式方法的形式编程但是思想还是sql形式和rdd编程特别相似的一种写法 object TestSql {def main(args: Array[String]): Unit {val conf new SparkConf()conf.setAppName(test sql)conf.setMaster(local[*])val sc new SparkContext(conf)val sqlSc new SQLContext(sc)import sqlSc.implicits._val rdd sc.textFile(data/a.txt).map(t {val strs t.split( )(strs(0).toInt, strs(1), strs(2).toInt,strs(3))})val df rdd.toDF(id, name, age,gender)//select * from student where age 20//df.where(age 20)//分组聚合//df.groupby(gender).sum(age)//几个问题//聚合函数不能增加别名 聚合函数不能多次聚合 orderby不识别desc // df.groupBy(gender).agg(count(id).as(id),sum(age).as(age)).orderBy($age.desc) //字段标识可以是字符串也可以是字段对象//df.orderBy($age.desc) //df.orderBy(col(age).desc) //df.orderBy(df(age).desc) //增加字段对象可以实现高端操作//df.select($age.(1)) //join问题//val df1 sc.makeRDD(Array(// (1,100,98),// (2,100,95),// (3,90,92),//(4,90,93)//)).toDF(id,chinese,math)//df.join(df1,id) //字段相同 //df.join(df1,df(id)df1(id)) //窗口函数//普通函数 聚合函数 窗口函数 sum|count|rowkey over (partition by gender order by age desc)//按照条件分割完毕进行数据截取//班级的前两名 每个性别年龄最高的前两个//select *,row_number() over (partition by gender order by age desc) rn from tableimport sqlSc.implicits._import org.apache.spark.sql.functions._df.withColumn(rn,row_number().over(Window.partitionBy(gender).orderBy($age.desc))).where(rn 1).show()} } 第二种纯sql形式的查询 首先注册表然后使用sql查询最终得出的还是dataFrame的对象其中和rdd的编程没有任何的区别只不过现在使用sql形式进行处理了而已 package com.hainiu.sparkimport org.apache.spark.sql.types.{IntegerType, StringType, StructField, StructType} import org.apache.spark.sql.{Row, SQLContext} import org.apache.spark.{SparkConf, SparkContext}object TestSparkSqlWithCreate {def main(args: Array[String]): Unit {val conf new SparkConf()conf.setAppName(test create)conf.setMaster(local[*])val sc new SparkContext(conf)val sqlSc new SQLContext(sc)val rdd sc.textFile(data/a.txt).map(t {val strs t.split( )Row(strs(0).toInt, strs(1), strs(2).toInt,strs(3))}) // rdd schemaval schema StructType(Array(StructField(id,IntegerType),StructField(name,StringType),StructField(age,IntegerType),StructField(gender,StringType),))val df sqlSc.createDataFrame(rdd, schema)//sql形式查询//select col from tabledf.createTempView(student)val df1 sqlSc.sql(|select count(1) cnt,gender from student group by gender|.stripMargin)df1.createTempView(student1)val df2 sqlSc.sql(|select * from student1 where cnt1|.stripMargin)df2.show()df2.printSchema()} }
http://www.hkea.cn/news/14258699/

相关文章:

  • 网站首页详细设计机刷推广软件
  • 一个网站多个域名 seo我要看一集片做网站
  • 注册个人网站域名top李树全网页制作教程
  • 重庆网页设计培训学校利于优化的网站模板
  • 攀枝花建设集团网站涟水网站开发公司点击查看
  • 网站建设 软件有哪些内容wordpress+程序优化
  • 零基础网站建设入门到精通视频教小程序商城货源怎么找
  • 做名片赞机器人电脑网站是多少钱本地推广平台
  • 网站seo技术教程备案域名
  • 网站建设流程简图怎么制作小视频的教程?
  • 安徽合肥建设厅网站邵阳市城乡建设厅网站
  • 西安专业做网站建设费用最早的做团购的网站
  • 如何帮人做网站赚钱wordpress网站换字体颜色
  • 福田网站建设信科网络加载wordpress外部文件
  • 网站编程源码免费新野企业网站建设
  • 手机网站开发成为小程序深圳网站设计 深圳市利
  • 网站备案要多长时间广东建设信息网查询成绩
  • 网站售后服务模板昆明网站词排名优化
  • 上海建设网站是国家级吗做产品的往这看 国外工业设计网站大全
  • 网站开发课程百度云旅游交友的网站建设
  • 怎么搜索整个网站成都网络优化托管公司
  • 网站建设协调会彩票网站搭建多钱
  • 二手物品交换网站建设关键词搜索量怎么查
  • wordpress网站语言适合新手做网站的
  • 软文营销模板慈溪网站优化
  • 都匀住房和城乡建设局网站外贸网站APP
  • 廊坊模板建站代理wordpress字不能显示
  • 商务网站建设与维护论文做平行进口的汽车网站
  • 公司的网站推广怎么做企业营销策划合同范本
  • 如何进行网站icp备案上线一个网站需要多少钱