• [DB] Spark SQL


    概述

    • 类似Hive、Pig
    • 基于Spark(内存)
    • 集成在Spark中,不需单独安装
    • 提供统一的数据访问方式
    • 结构化的数据类型:JDBC、JSON、Hive、Parquet(Saprk SQL 默认数据源)
    • 兼容Hive
    • 支持标准的数据连接:JDBC、ODBC
    • 核心概念:表(DataFrame)= 结构(Schema) + 数据(RDD)

    创建DataFrame

    • 使用 case class 样本类
      • 定义表的 schema
      • 导入HDFS的dept.csv作为数据
    • 使用 Spark Session
      • 包括 Spark Context、SQL Context、Streaming Context
      • 2.0后引入的统一访问接口,可访问所有spark组件
      • 使用StructType创建schema
    • 读取带格式文件
      • Json

     

    操作DataFrame

    • DSL语句
    • SQL语句

    操作DataSet

    • DataFrame缺乏编译时类型安全

    Spark SQL 视图

    • 虚表,不存储数据
    • 普通视图:本地视图,只在当前session中有效
    • 全局视图:在不同session中都有效,把全局视图创建命名空间,global_temp

    数据源

    • load() 和 save()
    • Parquet文件
      • 列式存储文件,Spark SQL默认数据源
      • 把其它文件转为Parquet文件
      • 支持Schema的合并:项目开始的时候,表(schema)很简单,逐步向表中增加新的列
    • Json文件
      • val testResult = spark.read.json("/usr/local/tmp_files/emp.json")
    • JDBC
    • Hive

    性能优化

    • 缓存方式
      • 在内存中缓存数据
      • 性能优化参数    

    IDE中开发

    • 关闭log4j

    参考

    官网

    http://spark.apache.org/sql/

  • 相关阅读:
    数据仓库中的几种数据模型
    数据仓库为什么要分层
    数据仓库的两种建模方法
    数据仓库之架构发展
    数据仓库是什么
    ETL 自动化测试框架
    大数据测试之ETL测试工具和面试常见的问题及答案
    Hadoop面试链接
    Hadoop 面试总结
    Spark 基本架构及原理
  • 原文地址:https://www.cnblogs.com/cxc1357/p/13096982.html
Copyright © 2020-2023  润新知