zoukankan      html  css  js  c++  java
  • [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/

  • 相关阅读:
    代码规范圣战
    代码复审结果
    个人工程总结
    第一周个人博客作业
    软工课程总结
    软件工程课程的建议
    大泥球你好~
    第一次会议记录
    软件工程的瀑布, 大泥球, 教堂,集市,和银弹
    vs2013——单元测试&& 性能图
  • 原文地址:https://www.cnblogs.com/cxc1357/p/13096982.html
Copyright © 2011-2022 走看看