当前位置: 首页 > news >正文 建设官方网站网站备案在线注销 news 2025/10/24 13:56:29 建设官方网站,网站备案在线注销,中企动力员工待遇怎么样,淘宝关键词搜索量查询工具文章目录SparkSQL 核心编程1、新的起点2、SQL 语法1) 读取 json 文件创建 DataFrame2) 对 DataFrame 创建一个临时表3) 通过SQL语句实现查询全表3、DSL 语法1) 创建一个DataFrame2) 查看DataFrame的Schema信息3) 只查看username列数据4) 查看username列… 文章目录SparkSQL 核心编程1、新的起点2、SQL 语法1) 读取 json 文件创建 DataFrame2) 对 DataFrame 创建一个临时表3) 通过SQL语句实现查询全表3、DSL 语法1) 创建一个DataFrame2) 查看DataFrame的Schema信息3) 只查看username列数据4) 查看username列以及age1数据5) 查看age大于20的数据6) 按照age分组查看数据条数4、RDD 转换为 DataFrame5、DataSet1) 创建 DataSet2) DataFrame 转换为 DataSet3RDD 直接转换为 DataSetSparkSQL 核心编程 学习如何使用 Spark SQL 提供的 DataFrame 和 DataSet 模型进行编程以及了解他们之间的关系和转换关于具体的SQL书写不是我们的重点。 1、新的起点 Spark Core 中如果想要执行应用程序需要首先构建上下文环境对象SparkContextSpark SQL 其实可以理解为对 Spark Core的一种封装不仅仅在模型上进行了封装上下文环境对象也进行了封装。 在老的版本中SparkSQL提供两种 SQL 查询起始点一个叫 SQLContext用于 Spark 自己提供的 SQL 查询一个叫 HiveContext用于连接 Hive 查询。 SparkSession 是 Spark 最新的 SQL 查询起点实质是上 SQLContext 和 HiveContext 的组合所以在 SQLContext 和 HiveContext 上可用的API在 SparkSession 上同样是可以使用的。SparkSession 内部封装了 SparkContext所以实际上是由sparkContext 完成的。当我们使用 spark-shell 的时候spark 框架会自动创建一个名称叫做spark的SparkSession对象就像我们以前可以自动获取到一个sc来表示SparkContext对象一样。 这下面是在终端命令行简单的演示是怎么用spark 执行sql语句执行的。 读取json文件创建DataFrame val df spark.read.json(input/user.json) 注意 从内存中获取数据spark 可以知道数据具体是什么。如果是数字默认作为 Int 处理但是从文件中读取的数字不能确定是什么类型所以用 bigint(大整形) 接收可以和 Long 类型转换但是和 Int 不能进行转换。 2、SQL 语法 SQL 语法风格是指我们查询数据的时候使用 SQL 语句来查询这种风格的查询必须要有临时视图或者全局视图来辅助。 1) 读取 json 文件创建 DataFrame 2) 对 DataFrame 创建一个临时表 要想用sql语句那肯定首先就要有个表所以将DataFrame转换为一个临时表就可以用sql语句了。创建临时表使用 createReplaceTempView(pepole)创建临时视图使用 createTempView(pepole) 注意普通临时表是Session范围内的如果想应用范围内有效可以使用全局临时表。使用全局临时表时需要全路径访问。 比如下面这里就是newSession 开启了一个新的会话之前那个临时表就用不了了找不到。 3) 通过SQL语句实现查询全表 spark 查询语句spark.sql(select * from user) 这个user就是上面创建的临时视图必须要创建个这样的对象才能进行sql 语句查询。 这个就是查询的结果 3、DSL 语法 DataFrame 提供一个特定领域语言domain-specific languageDSL去管理结构化数据。可以在 ScalaJavaPython和 R 中使用 DSL使用 DSL 语法风格不必去创建临时视图了。 1) 创建一个DataFrame val df spark.read.json(input/user.json) 2) 查看DataFrame的Schema信息 df.printSchema 用这个看到看信息说明spark的那些方法都是可以用的。 这里可以看到这种DSL 不需要创建什么表这个是可以直接用 DataFrame对象直接进行select的查询 3) 只查看username列数据 df.select(username).show 4) 查看username列以及age1数据 df.select($username,$age 1) df.select(username,age 1) 注意涉及到运算的时候每列都必须使用$或者采用引号表达式单引号字段名 或者不要双引号在每个字段的前面加上一个单引号也是可以的。 5) 查看age大于20的数据 就不是select了使用filter进行筛选过滤。 df.filter($age20).show 注意这里这个大于20上面那个201那个是不算的。 6) 按照age分组查看数据条数 使用groupBy分组完还必要要用count统计 df.groupBy(age).count.show 4、RDD 转换为 DataFrame 在 IDEA 开发程序时如果需要 RDD 与 DF 或者 DS 之间互相操作那么需要引入import spark.implicits._ 这里的 spark 不是 Scala 中的包名而是创建的sparkSession 对象的变量名称所以必须先创建 SparkSession 对象再导入。这里的 spark 对象那个不能那个使用 var 声明因为Scala 只支持 val 修饰的对象的引入。 spark-shell 中无需导入自动完成此操作。 首先创建一个rdd val rdd sc.makeRDD(List(1,2,3,4)) 然后可以看到下面有很多的方法其中有一个toDF方法就是 RDD 转换为 DataFrame的。 val df rdd.toDF(id) 我们将数据转换为DataFrame 那我们得让他知道我们的数据是什么意思所以给他一个列字段名“id”。 要是想从DataFrame转换回RDD的话那么直接 df.rdd 就转换回去了。 5、DataSet DataSet 是具有强类型的数据集合需要提供对应的类型信息。 1) 创建 DataSet 使用样例类序列创建DataSet 上面创建了一个样例类的列表的数据 然后直接使用toDS 方法之间转换为DataSet 转换好之后数据就可以直接看了。 2) DataFrame 转换为 DataSet 首先从RDD转换为DataFrame使用rdd.toDF然后我们要创建一个样例类注意样例类里面这个列字段名要和那个DataFrame里面的那个字段名是一样的比如这里这个是value然后用df.as[fengz] 有了类型他就变成DataSet了。 3RDD 直接转换为 DataSet 直接先创建一个样例类把他的类型先确定好然后创建一个RDDRDD里面的数据直接使用这个样例类创建然后直接使用rdd.toDS直接就从RDD转换为DataSet了。 文章转载自: http://www.morning.wkpfm.cn.gov.cn.wkpfm.cn http://www.morning.yfphk.cn.gov.cn.yfphk.cn http://www.morning.sjqml.cn.gov.cn.sjqml.cn http://www.morning.wsnjn.cn.gov.cn.wsnjn.cn http://www.morning.lwdzt.cn.gov.cn.lwdzt.cn http://www.morning.jbfzx.cn.gov.cn.jbfzx.cn http://www.morning.hqrkq.cn.gov.cn.hqrkq.cn http://www.morning.hqwxm.cn.gov.cn.hqwxm.cn http://www.morning.hqxyt.cn.gov.cn.hqxyt.cn http://www.morning.tndhm.cn.gov.cn.tndhm.cn http://www.morning.tgtrk.cn.gov.cn.tgtrk.cn http://www.morning.nba1on1.com.gov.cn.nba1on1.com http://www.morning.rrgqq.cn.gov.cn.rrgqq.cn http://www.morning.bzfwn.cn.gov.cn.bzfwn.cn http://www.morning.bgbnc.cn.gov.cn.bgbnc.cn http://www.morning.njpny.cn.gov.cn.njpny.cn http://www.morning.xqzrg.cn.gov.cn.xqzrg.cn http://www.morning.wlddq.cn.gov.cn.wlddq.cn http://www.morning.brjq.cn.gov.cn.brjq.cn http://www.morning.mqbzk.cn.gov.cn.mqbzk.cn http://www.morning.svrud.cn.gov.cn.svrud.cn http://www.morning.ctswj.cn.gov.cn.ctswj.cn http://www.morning.mkpqr.cn.gov.cn.mkpqr.cn http://www.morning.lwlnw.cn.gov.cn.lwlnw.cn http://www.morning.jkrrg.cn.gov.cn.jkrrg.cn http://www.morning.yqsr.cn.gov.cn.yqsr.cn http://www.morning.qgjxy.cn.gov.cn.qgjxy.cn http://www.morning.txrq.cn.gov.cn.txrq.cn http://www.morning.xhhqd.cn.gov.cn.xhhqd.cn http://www.morning.ckwrn.cn.gov.cn.ckwrn.cn http://www.morning.rbcw.cn.gov.cn.rbcw.cn http://www.morning.dnphd.cn.gov.cn.dnphd.cn http://www.morning.mwjwy.cn.gov.cn.mwjwy.cn http://www.morning.pswqx.cn.gov.cn.pswqx.cn http://www.morning.mflhr.cn.gov.cn.mflhr.cn http://www.morning.mllmm.cn.gov.cn.mllmm.cn http://www.morning.wrkhf.cn.gov.cn.wrkhf.cn http://www.morning.kbkcl.cn.gov.cn.kbkcl.cn http://www.morning.hrkth.cn.gov.cn.hrkth.cn http://www.morning.lsfbb.cn.gov.cn.lsfbb.cn http://www.morning.gsrh.cn.gov.cn.gsrh.cn http://www.morning.mnqz.cn.gov.cn.mnqz.cn http://www.morning.xcbnc.cn.gov.cn.xcbnc.cn http://www.morning.xqgtd.cn.gov.cn.xqgtd.cn http://www.morning.ckbmz.cn.gov.cn.ckbmz.cn http://www.morning.zyslyq.cn.gov.cn.zyslyq.cn http://www.morning.rshkh.cn.gov.cn.rshkh.cn http://www.morning.xkmrr.cn.gov.cn.xkmrr.cn http://www.morning.pdghl.cn.gov.cn.pdghl.cn http://www.morning.jzccn.cn.gov.cn.jzccn.cn http://www.morning.nkjjp.cn.gov.cn.nkjjp.cn http://www.morning.yfwygl.cn.gov.cn.yfwygl.cn http://www.morning.rwlnk.cn.gov.cn.rwlnk.cn http://www.morning.pxbrg.cn.gov.cn.pxbrg.cn http://www.morning.wrtbx.cn.gov.cn.wrtbx.cn http://www.morning.ntffl.cn.gov.cn.ntffl.cn http://www.morning.kqcqr.cn.gov.cn.kqcqr.cn http://www.morning.mnjyf.cn.gov.cn.mnjyf.cn http://www.morning.nggry.cn.gov.cn.nggry.cn http://www.morning.npbkx.cn.gov.cn.npbkx.cn http://www.morning.sjgsh.cn.gov.cn.sjgsh.cn http://www.morning.bpwdc.cn.gov.cn.bpwdc.cn http://www.morning.ndrzq.cn.gov.cn.ndrzq.cn http://www.morning.rbhcx.cn.gov.cn.rbhcx.cn http://www.morning.dmsxd.cn.gov.cn.dmsxd.cn http://www.morning.mm27.cn.gov.cn.mm27.cn http://www.morning.fflnw.cn.gov.cn.fflnw.cn http://www.morning.xznrk.cn.gov.cn.xznrk.cn http://www.morning.xfwnk.cn.gov.cn.xfwnk.cn http://www.morning.yhyqg.cn.gov.cn.yhyqg.cn http://www.morning.sgbk.cn.gov.cn.sgbk.cn http://www.morning.jzklb.cn.gov.cn.jzklb.cn http://www.morning.dqpd.cn.gov.cn.dqpd.cn http://www.morning.qgqck.cn.gov.cn.qgqck.cn http://www.morning.080203.cn.gov.cn.080203.cn http://www.morning.lzqtn.cn.gov.cn.lzqtn.cn http://www.morning.xcjwm.cn.gov.cn.xcjwm.cn http://www.morning.wanjia-sd.com.gov.cn.wanjia-sd.com http://www.morning.ffmx.cn.gov.cn.ffmx.cn http://www.morning.pthmn.cn.gov.cn.pthmn.cn 查看全文 http://www.tj-hxxt.cn/news/240320.html 相关文章: 网站如何推广引流做业务一般要注册哪些网站 凡科建站怎么导出网页杭州互联网网站公司 做网站需要参考书目书网站备案需要花钱吗 建设网站的总结做网站推广怎么找客户 医院网站推广渠道应用之星制作app软件官网 淘宝券搜索网站怎么做哪些网站有搜索引擎作弊的 网站建设和微信小程序网站开发属于专利吗 网站开发 自我评价太原网站建设费用 设计本网站建一个区域网站需要多少资金 网站推广分销系统建设电子商务网站所应用的技术 建设网站的网站是什么c2c网站建设的需求分析 网站建设不要摸板用php做网站上传图片的代码 wordpress手机模板怎么用长春网站优化公司 沈阳网站建设思路威海网站开发网络公司 wordpress 标签云页面模板建网站怎么做seo 新材建设局网站网站建设 思路 网站外链隐形框架是什么妇科医生免费咨询 建设网站赚钱猛兽领主网络营销的特点决定了它不能满足 产品网站开发流程网站建设会提供哪些服务 家装设计师收费标准网站关键字排名优化 做外汇看的网站自己弄公司网站 海南网站优化公司网课培训机构排名前十 网站上动画视频怎么做的app制作简易网站 企业建一个网站免费网络短剧 wordpress电影站模版android用什么语言开发 前端开发可以做网站运营吗企业品牌宣传推广 北京建设工程二级市场网站宣传片拍摄制作流程 php餐饮网站深圳网站建设深圳 网站项目开发django电影网站开发 深圳网站设计官网网站建设前期应该做哪些准备