zoukankan      html  css  js  c++  java
  • Spark SQL 编程初级实践

    一、实验目的
    (1)通过实验掌握 Spark SQL 的基本编程方法;
    (2)熟悉 RDD 到 DataFrame 的转化方法;
    (3)熟悉利用 Spark SQL 管理来自不同数据源的数据。
    二、实验平台
    操作系统: Ubuntu16.04
    Spark 版本:2.1.0
    数据库:MySQL
    三、实验内容和要求
    1.Spark SQL 基本操作
    将下列 JSON 格式数据复制到 Linux 系统中,并保存命名为 employee.json。
    { "id":1 , "name":" Ella" , "age":36 }
    { "id":2, "name":"Bob","age":29 }
    { "id":3 , "name":"Jack","age":29 }
    { "id":4 , "name":"Jim","age":28 }
    { "id":4 , "name":"Jim","age":28 }
    { "id":5 , "name":"Damon" }
    { "id":5 , "name":"Damon" }
    为 employee.json 创建 DataFrame,并写出 Scala 语句完成下列操作:
    val sqlcontext = new org.apache.spark.sql.SQLContext(sc)
    val df = sqlcontext.read.json("file:///home/hadoop/桌面/employee.json")

    (2) 查询所有数据,并去除重复的数据;
    df.distinct().show()

    (3) 查询所有数据,打印时去除 id 字段;
    df.drop("id").show()


    (4) 筛选出 age>30 的记录;
    df.filter(df("age")>30).show()

    (5) 将数据按 age 分组;
    df.sort(df("age").asc).show()


    (6) 将数据按 name 升序排列;
    df.sort(df("name").asc).show()

    (7) 取出前 3 行数据;
    df.take(3)或df.head(3)

    (8) 查询所有记录的 name 列,并为其取别名为 username;
    df.select(df("name").as("username")).show()

    (9) 查询年龄 age 的平均值;
    df.agg("age"->"avg").show()

    (10) 查询年龄 age 的最小值。
    df.agg("age"->"min").show()

  • 相关阅读:
    谈谈vertical-align的text-bottom和text-top
    【golang】代码学习
    【golang】json相关:unmarshal
    【tidb】相关的调研
    【php】sort函数整理
    【hive学习笔记1】-开始
    python2和python3区别
    python: 类型转换(int,long,float->string)
    【java】查找应用程序的资源
    【java】已经学习的部分
  • 原文地址:https://www.cnblogs.com/xjmm/p/14356695.html
Copyright © 2011-2022 走看看