1. 程式人生 > >SparkSQL(1)——Spark SQL概述

SparkSQL(1)——Spark SQL概述

spark sql發展

Shark是一個為Spark設計的大規模資料倉庫系統,它與Hive相容。 Shark建立在Hive的程式碼基礎上,並通過將Hive的部分物理執行計劃交換出來。這個方法使得Shark的使用者可以加速Hive的查詢。 但是Shark繼承了Hive的大且複雜的程式碼使得Shark很難優化和維護,同時Shark依賴於Spark的版本。 隨著效能優化的上限,以及整合SQL的一些複雜分析功能,發現Hive的MapReduce設計的框架限制了Shark的發展。 在2014年7月1日的Spark Summit上,Databricks宣佈終止對Shark的開發,將重點放到Spark SQL上。

spark sql是什麼?

Spark SQL is Apache Spark’s module for working with structured data.

Spark SQL是Spark處理結構化資料的一個模組。 它提供了一個程式設計抽象叫做DataFrame,作為分散式SQL查詢引擎的作用。 Spark SQL有多種使用方式:包括SQL、DataFrames API和Datasets API。 相比於Spark RDD API,Spark SQL包含了對結構化資料和在其上運算的更多資訊,Spark SQL使用這些資訊進行了額外的優化,使對結構化資料的操作更加高效和方便。

Spark SQL的特性

易整合

將sql查詢與spark程式無縫混合,可以使用java、scala、python、R等語言的API操作。 Integrated Seamlessly mix SQL queries with Spark programs.

統一的資料訪問

以相同的方式連線到任何資料來源。 Uniform Data Access Connect to any data source the same way.

相容Hive

支援hiveSQL的語法。 Hive Integration Run SQL or HiveQL queries on existing warehouses. 在這裡插入圖片描述

標準的資料連線

可以使用行業標準的JDBC或ODBC連線。 Standard Connectivity Connect through JDBC or ODBC. 在這裡插入圖片描述