非結構化數據與結構化數據
Spark SQL是spark用來處理結構化數據的Apache Spark組件 :
與最基本的Spark API——RDD API不同的是Spark SQL接口提供了更多關於數據結構和正在執行的計算的相關信息
在Spark內部,Spark可以使用這些信息來對運算進行額外的優化
Spark SQL的特點 :
1.Spark SQL使用的數據來源
Spark SQL可以使用如Parquet文件、JSON文檔、Hive表以及Cassendra數據集來作爲自己的數據源
2.Spark SQL提供了多種編程語言的API :
Spark SQL API支持Python, Scala, Java和R
3.Spark SQL組件爲ML應用,graph應用等提供了運行基礎 :
一些典型的應用如Spark ML Pipelines, Structured Streaming都是基於Spark SQL接口的
Spark SQL的發展史
Hive與Spark SQL的比較
Spark SQL的應用場景
1.ETL作業:
通過Spark SQL將分佈的、異構數據源中的數據如關係數據、平面數據文件等抽取到臨時中間層後進行清洗、轉換、集成,最後加載到數據倉庫或數據集市中,成爲聯機分析、數據挖掘的基礎
2.NOW APPS
將Spark SQL,MLlib和GraphX組件應用於批量ETL和電信數據分析,爲運營商提供更快,更有意義的見解和可操作的數據