分享

about云系列spark入门3:Spark SQL处理结构化数据的spark模块

问题导读



1.在spark程序中,如何使用spark sql?
2.spark对于不同的数据源是如何处理的?
3.spark sql是否支持 JDBC 和 ODBC?





1.集成

spark程序中使用spark sql

[mw_shl_code=scala,true]sqlCtx = new HiveContext(sc)
results = sqlCtx.sql(
  "SELECT * FROM people")
names = results.map(lambda p: p.name)[/mw_shl_code]

应用函数保存查询结果

2.统一数据访问

从不同的数据源加载和查询数据
SchemaRDDs 提供统一接口处理结构化数据, 包括  Hive 表, parquet 文件 和 JSON 文件.

[mw_shl_code=scala,true]sqlCtx.jsonFile("s3n://...")
  .registerAsTable("json")
schema_rdd = sqlCtx.sql("""
  SELECT *
  FROM hiveTable
  JOIN json ...""")[/mw_shl_code]

查询 和 join不同的数据源


3.hive兼容
执行hive查询,在原有数据仓库基础上
Spark SQL重用Hive前端和元数据,完全兼容已经存在的hive数据、查询、和UDFs。

sql-hive-arch.png


4.标准连通性


通过JDBC或ODBC连接。

Spark SQL包括一个带有工业标准  JDBC 和 ODBC 连接 server 模块

jdbc.png


使用已存在的 BI 工具查询大数据


上一篇

about云系列spark入门2:spark最新源码包、安装包、git源码、maven等下载介绍

下一篇:

about云系列spark入门4:Spark Streaming介绍

已有(2)人评论

跳转到指定楼层
haorengoodman 发表于 2015-7-6 13:48:56
sqlCtx = new HiveContext(sc)  or
sqlCtx = SQLContext(sc)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条