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()

      

  • 相关阅读:
    优酷kux转mp4
    C++实现将一个文件夹内容拷贝至另一个文件夹
    获取NX一组属性
    获取NX特征名称(无时间戳)
    利用glog打印日志
    C++获取运行程序当前目录
    获取NX装配结构信息
    解析形如(k,v)(k,v)(k,v)字符串
    多NX如何共存
    C++ (C#)实现获取NX PART预览图
  • 原文地址:https://www.cnblogs.com/wind-man/p/13406830.html
Copyright © 2011-2022 走看看