开发者学堂课程【大数据实时计算框架 Spark 快速入门:SparkSQL 初识_3】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/100/detail/1700
SparkSQL 初识3
内容简介:
一、集成
二、统一数据存取
三、峰箱兼容性
四、标准链接
五、性能和可伸缩性
六、社区
七、开始使用 Spark SQL
八、Dataframe 的最佳搭档-- Spark SQL
Spark SQL is Apache Spark's module for working with structured data.译文:Spark SQL 是 Apache Spark 处理结构化数据的模块。
一、Integrated(集成的)
Seamlessly mix SQL queries with Spark programs.
Spark SQL lets you query structured data inside Spark programs, usingeither SQL or a familiar DataFrame API. Usable in Java, Scala, Python and R.
译文:将 SQL 查询与 Spark 程序无缝混合。Spark SQL 允许您使用 SQL 或熟悉的 DataFrame AP 在 Spark 程序中查询结构化数据。可在 Java, Scala,Python 和 R 中使用。
context = HiveContext(sc)
results = context.sql(
"SELECT * FROM people")
names=results. map(lambda p: p. name)
Apply functions to results of SQL queries.
二、Uniform Data Access(统一数据存取)
Connect to any data source the same way.
DataFrames and SQL provide a common way to access a variety of data sources, including Hive, Avro, Parquet, ORC, JSON, and JDBC. You can even join data across these sources.
译文:以相同的方式连接到任何数据源。DataFrames 和 SQL 提供了访问各种数据源的通用方法,包括 Hive. Avro,Parquet. ORC. JSON 和 JDBC. 您甚至可以跨这些数据源连接数据。
context.jsonFile("s3n://…")
.registerTempTable(”json”)
results = context. sql(
""" SELECT *
FROM people
JOIN json …""")
Query and join different data sources.
三、Hive Compatibility(蜂箱兼容性)
Run unmodified Hive queries on existing data.
Spark SQL reuses the Hive frontend and metastore, giving you full compatibilty with existing Hive data, queries, and UDFs. Simply install it alongside Hive.
译文:对现有数据运行未修改的配置单元查询。Spark SQL 重用配置单元前端和元存储。使您与现有配置单元数据、查询和 UDF 完全兼容.只需将其与配置单元一起安装即可。
四、Standard Connectivity(标准连接)
Connect through JDBC or ODBC
A sever mode provides industry standard JDBC and ODBC connectivty for business intelligence tools.
译文:通过连接 JDBC 或者 ODBC。服务图模式应供行业标准 JDBCE CDeC 连操性而业智能工具。
五、Performance &Scalability(性能和可伸缩性)
Spark SQL includes a cost-based optimizer. columnar storage and code generation to make queries fast.At the same time it scales to thousands of nodes and multi hour queries using the Spark engine ,wnich provides full mid-query fault tolerance. Don't worry about using a difterent engine for historical data.
译文: Spark SQL 是基于成本的优化器,柱状存储和代码生成快速查询一下在于此同时,它扩展到成千上万的节点使用,它提供充足的查询,不用担心用不同发动机为历史数据。
六、Community(社区)
Spark SQL is developed as part ofApache Spark It thus gets tested andupdated with each Spark release
If you have questions about the system,ask on the Spark malling lists.
The Spark SQL developers welcome contributions. If you'd like to help out read how to contribute to Spark, and send us a patch!
译文:Spark SQL 作为 Apache Sprk 的一部分开发。因此,它在每个 Spak 版本中都得到测试和更新。如果你对系统有疑问请访问 Spark 邮件列表。Spak SQL 开发人员欢迎你,如果你愿意帮忙,请阅读如何向 Spark 投稿,以及可以发个补丁过来!
七、Getting Started(开始)
To get started with Spark SQL:
Download Spark, It includes SparkSQLas a module
Read the Spark SQL andData Frame guide to learn the API
译文:开始使用 Spark SQL
下载 Spark,它包括 SparkSQL 作为一个模块。
阅读 SparkSQL和 Data Frame,学习 API 指南。
八、Dataframe 的最佳搭档-- Spark SQL
Spark SQL 是 Spark 的核心组件之一, 于2014年4月随 Spark 1.0版一同面世,在 Spark 1.3当中,Spark SQL 终于从 alpha 阶段毕业,除了部分 developer API 以外,所有的公共 API 都已经稳定,可以放心使用了。
Spark 1.3更加完整的表达了 Spark SQL 的愿景:让开发者用更精简的代码处理尽量少的数据,同时让 Spark SQL 自动优化执行过程,以达到降低开发成本,提升数据分析执行效率的目的。为此,在 Spark 1.3中引入了与 R 和 Python Pandas 接口类似的 DataFrame API。
与 RDD 类似, DataFrame 也是一个分布式数据容器。然而 DataFrame 更像传统数据库的 二维表格,除了数据以外,还掌握数据的结构信息,即 schema.同时,与 Hive 类似,DataFrame 也支持故套数培类型( struct、 array 和 map) 。从 API 易用性的角度上看, DataFrame API 提供的是一套高层的关系操作,比函数式的 RDD API 要更加友好,门槛更低。由于与R和 Pandas 的 DataFrame 类似,Spark DataFrame 很好地继承了传统单机数据分析的开发体验。