zoukankan      html  css  js  c++  java
  • Spark系列之分布式数据集-DataFrame

     目录:

      1、DF的创建

      2、临时表

      3、SQL查询

      4、RDD到DF的转换

      5、DF的API

    简介

      DataFrame是一种不可变的分布式数据集,数据被组织成指定的列。和数据库中的表类似。

      以下的spark变量均由SparkSession创建。

    1、DataFrame的创建

      jsonDf = spark.read.json(jsonStriing)

      jsonDf = spark.createDataFrame(jsonStringRdd,schema)  schema是第四部分的模式

    2、通过DF创建临时表

      jsonDf.createOrReplaceTempView("jsonTable")aaaa

    3、SQL查询

      spark.sql("select * from jsonTable").collect()

      spark.sql()执行完成后生成的是DF,可以进一步注册临时表。

      使用Spark SQL 分析查询最常见的存储格式是Parquet文件格式。

    4、RDD到DF的转换,有两种方式:

        1) 反射推断模式

        2)编程方式指定

      4.1 反射推断模式是框架自行推断的根据数据类型

      4.2 编程方式指定是使用StructType和StructFiled定义指定。

        如:schema = StructType([

            StructField("id",LongType(),True),

            StructField("name",StringType(),True) ])

        其中StructField中的三个参数,分别代表:

          第一个参数,字段的名字

          第二个参数,字段的类型

          第三个参数,此字段是否为空

    5、DF的常用函数

      1) count,统计DF中的行数

      2)select ,筛选字段,df.select("id","name")  或 df.select(df.id, df.name)

      3)filter,过滤字句 df.select("id","name").filter("name=11")   或 df.select("name","age").filter("name like 'b%'").show()

      

  • 相关阅读:
    docker常用命令
    Jenkins 插件开发记录
    【转】python作用域
    git备忘录
    【笔记】script.sh: source: not found in docker 问题
    (转)JavaScript判断浏览器类型及版本
    (转)webstorm快捷键
    (转)javaScript call 函数的用法说明
    (转载)记录函数 getStyle() 获取元素 CSS 样式
    (转)resize扩展
  • 原文地址:https://www.cnblogs.com/wind-man/p/13406830.html
Copyright © 2011-2022 走看看