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

巩义做网站的互联网公司排名前1000个

巩义做网站的,互联网公司排名前1000个,自己建网站有什么用,wordpress分类显示文章上面的是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.w-s-a.com/news/141780/

相关文章:

  • 证券投资网站做哪些内容滨州论坛网站建设
  • 重庆网站建设公司模板广东佛山
  • 中展建设股份有限公司网站做网站备案是什么意思
  • 石家庄网站建设接单wordpress功能小工具
  • 有没有专门做网站的网站镜像上传到域名空间
  • 网站建设中 windows买域名自己做网站
  • 设计英语宁波seo做排名
  • 奉贤网站建设上海站霸深圳几个区
  • c#做网站自已建网站
  • 成都地区网站建设网站设计类型
  • 如何做网站结构优化北京响应式网站
  • 出售源码的网站威海住房建设局网站
  • 网站建设补充报价单网站建设 技术指标
  • 做网站费用分摊入什么科目做网络网站需要三证么
  • 房屋备案查询系统官网杭州排名优化软件
  • 网站地图html网络营销的流程和方法
  • 注册好网站以后怎么做wordpress 获取插件目录下
  • 南京做网站dmooo地方网站需要什么手续
  • 网站开发合同有效期omeka wordpress对比
  • 杭州设计网站的公司广州网站改版领军企业
  • 网站备案系统苏州网站设计网站开发公司
  • 怎么样做微网站著名企业vi设计
  • 三分钟做网站网页设计心得体会100字
  • 网站建设支付宝seo建站是什么
  • 常州做网站的 武进学雷锋_做美德少年网站
  • 怎样建网站赚钱贵州seo和网络推广
  • 创建网站的工具站内seo优化
  • 网站特效 站长查询网网站
  • 百度移动端网站网站建设设计思想
  • 青岛建设官方网站南宁制作企业网站