zoukankan      html  css  js  c++  java
  • spark SQL编程动手实战-01

    首先创建SparkContext上下文:


    接着引入隐身转换,用于把RDD转成SchemaRDD:


    接下来定义一个case class 来用于描述和存储SQL表中的每一行数据:


    接下来要加载数据,这里的测试数据是user.txt文件:

    我们创建好use.txt增加内容并上传到hdfs中:


    web控制台查询:


    hdfs命令查询:



    加载数据:


    验证数据是否加载成功:



    注册成为user的table:



    此刻user还是一个MappedRDD:


    执行age 大于13 小于19的SQL查询:


    此刻的teenagers已经隐身转换成SchemaRDD


    通过collect操作触发job的提交和执行:


    结果:



    DSL是Domain Specific Language的缩写,使用DSL我们可以直接基于读取的RDD数据进行SQL操作,无需注册成Table。

    我们重新启动下spark-shell:



    同样使用"user.txt"的数据:


    验证user:



    我们这次直接使用SQL查询操作:



    使用toDebugString查看下结果:


    可以发现使用DSL的使用teenagers在内部已经被隐身转换了SchemaRDD的实例



    可以发现与前面那张注册Table方式的结果是一样的


    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    BZOJ 2653 middle
    BZOJ 3207 花神的嘲讽计划Ⅰ
    BZOJ 3689 异或之
    BZOJ 3037 创世纪
    BZOJ [1264] [ AHOI2006]基因匹配Match
    BZOJ 2186 [Sdoi2008]沙拉公主的困惑
    BZOJ 3362 Navigation Nightmare
    BZOJ 3209 花神的数论题
    BZOJ 1411 ZJOI2009 硬币游戏
    【HDU1573】X问题
  • 原文地址:https://www.cnblogs.com/stark-summer/p/4829791.html
Copyright © 2011-2022 走看看