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

建设官方网站九冶建设有限公司网站

建设官方网站,九冶建设有限公司网站,做网站找外包公司要要搞清楚什么,系统和网页的区别文章目录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.hkea.cn/news/14455124/

相关文章:

  • 大连商城网站制作公司网站建设专家哪家强
  • 新网站做百度百科网站开发合同范本 doc
  • 网站制作app排行榜前十名网站建设中网站需求分析报告作用
  • 开发网站开奖类游戏需要什么技术如何生成网址链接
  • 泉州网站开发装饰公司名字大全
  • 做犯法任务的网站电商平台网站
  • 直播网站开发技术邯郸网站设计哪家好
  • 做代练网站能备案酷家乐设计家官网
  • fomo3d网站开发汽车网站建设方案
  • 合肥模板网站建设费用h5页面制作素材
  • 网站建设待遇做购物网站费用
  • seo短视频网页入口引流网站wordpress程序结构
  • 城乡住房建设厅网站运城网站建设维护
  • 大连百度推广排名优化成都网站优化软件
  • 宁波高新区建设局网站html个人网页完整代码模板
  • dw怎么做phpcms网站友情链接的英文
  • 电子商务网站运营 需要确立企业要建设一个网站需要多少钱
  • 盐城网站建设优化建站企业管理培训课程定制
  • 中国建设银行山东省分行网站网站html标签如何优化
  • 阿里巴巴国际站新手入门教程想学设计怎么入门在家自己学
  • 物流专线做网站网站建设网络推广公司
  • 宝安设计网站建设手机医疗网站
  • 网站维护服务基本内容前端网站开发课程
  • 衡水市建设局网站wordpress wpuf
  • 手机网站图片宽度wordpress html5 中文
  • 福建莆田网站开发郴州网上报名小学系统登录
  • 平台式网站模板网站策划与建设
  • 网站的标题与关键词营销型平台网站
  • 百度竞价排名查询网站室内装修工人培训班
  • 起名最好的网站排名标书制作收费