spark sql 的特点
- 易集成
spark sql与spark程序无缝链接在一起,使得spark sql可以使用sql或DataFrame API在spark应用程序中处理结构化数据。语言支持方面spark sql 支持python、java、R、scala等语言。 - 同一的数据访问
spark sql 提供了一种访问各种数据源的通用方式。
数据源包含hive,avro,parquet,orc,json,jdbc等。
spark sql使用相同的方法链接数据,甚至跨源关联数据。 - 兼容hive
spark sql支持在hive上运行sql或者hivesql进行查询。 - 标准的数据链接
spark sql可以通过行业标准的JDBC或ODBC链接关系型数据
spark sql 的用途
- 根据基本的sql语句进行数据查询。
- 根据hiveSql语句进行查询
- 在hive、hbase、hdfs中读取数据
- 通过jdbc从关系型数据库中读取数据
- 从已存在的文件中读取数据
使用场景
- 需要处理结构化数据的场景
- 需要查询各种数据源的场景
- 需要兼容sql99,hivesql的场景
- 对数据处理的实时性要求不高的场景
- 处理PB级的大容量数据的场景
- 注意:spark sql 不适用与实时,交互式数据查询业务