AmosCloud

Library

Have a Question?

If you have any question you can ask below or enter what you are looking for!

SparkSQL

SparkSQL

是什么

  • SparkSQL是Spark中一个模块,专门用于处理结构化数据
  • 定位:替换Hive的使用场景
  • 特点:

    1. 兼容SparkCore(RDD)
      可以在同一个Spark任务中随时切换RDD编程和SQL编程

    2. 提供统一的数据访问方式
      将常见文本格式: Text csv json
      列式存储格式: ORC parquet
      各种数据库 : JDBC

    3. Spark完全兼容Hive
      SparkSQL支持HQL所有语法和函数库
      支持Hive的各种序列化,Hive的所有UDF

    4. 提供标准的数据访问
      JDBC/ODBC

Spark与Hive的关系

  • Spark内嵌Hive
    Spark已经包含了所以的Hive依赖

  • Spark可以运行在已有的Hive数仓上
    如果需要使用SparkSQL替换Hive,
    只需要将原有Hive的hive-site.xml拷贝到Spark的conf中
    mysql驱动jar复制Spark的jars中

  • Spark也提供hive2服务
    thriftserver封装了hiveserver2提供对外的标准JDBC连接