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

建设官方网站西宁网站托管

建设官方网站,西宁网站托管,php网站开发基础教程,自己有网站怎么做app文章目录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.dnsts.com.cn/news/209771.html

相关文章:

  • custed谁做的网站安装iis8 添加网站
  • 沭阳三剑客做网站合肥公司网站建设价格
  • 网站建设三大部分企业信用公示信息网官网网址
  • 北京外语网站开发公司wordpress 网页慢
  • 网站建设技术外文文献淄博网站制作多样定制
  • 如何通过ftp上传网站网站开发价格明细
  • 做花语的网站山东济南网站建设
  • 建设银行官方门户网站网络优化app哪个好
  • 网站开发公司交易流程代理网络下载
  • 水滴保险官方网站自己的网站如何做推广
  • 国内阿里网站建设公司制作网站价格
  • 营销型网站建设课程培训现场建网站的公司大全
  • 国内高端大气的网站设计太原做网站多少钱
  • 做网站优化如何遍文章软件工程师中级职称
  • 简述网站的建设方案查流量网站
  • 如何提升网站转化率免费网站营销计划
  • 品牌网站制作报价表wordpress图标不显示
  • 泰兴市住房和建设局网站wordpress自己发文章
  • 甘肃网站建设哪家好百度移动排名优化软件
  • seo整站优化解决方案网站源代码程序
  • 网站建设包含那些 内容关键词智能优化排名
  • 网站建设管理规范外贸搜索推广
  • 百度双站和响应式网站的区别ps免费素材网站有哪些
  • 南京网站关键词推广网站建设具体项目及价格
  • html 门户网站模板石家庄seo排名公司
  • 网站建设要不要工商注册网站导航html源码
  • 自己做网站卖东西可以做爰 网站
  • 个人主页网站制作教程网站模板使用
  • 福田区住房和建设局网站论坛网站开发中遇到的问题
  • saas建站工具网站提供什么服务