Spark SQL

Parquet是一種柱狀格式,由許多數據處理系統支持。 具有柱狀存儲的優點如下 :

1、列存儲限制IO操作。

2、列式存儲可以獲取您需要訪問的特定列。

3、列式存儲佔用更少的空間。

4、列式存儲提供更好的摘要數據,並遵循類型特定的編碼。

Spark SQL提供對讀取和寫入自動捕獲原始數據模式的鑲木地板文件的支持。 像JSON數據集一樣,parquet文件遵循相同的過程。

讓我們再看一下名為employee.parquet的員工記錄數據放在spark-shell正在運行的同一目錄中的相同示例。

給定數據 - 不要將員工記錄的輸入數據轉換為鑲木地板格式。 我們使用以下命令將RDD數據轉換為Parquet文件。 放置employee.json文檔,我們在之前的示例中用作輸入文件。


Spark SQL - Parquet文件

無法顯示拼貼文件。 它是一個目錄結構,您可以在當前目錄中找到它。 如果要查看目錄和文件結構,請使用以下命令。


Spark SQL - Parquet文件

以下命令用於讀取,註冊到表以及對其應用一些查詢。

打開Spark Shell

使用以下示例啟動Spark shell


Spark SQL - Parquet文件

創建SQLContext對象

使用以下命令生成SQLContext。這裡,sc表示SparkContext對象。


Spark SQL - Parquet文件

從文本文件讀取輸入

通過使用以下語句從名為employee.parquet的parquet文件讀取數據來創建RDD DataFrame。


Spark SQL - Parquet文件

將DataFrame存儲到表中

使用以下命令將DataFrame數據存儲到名為employee的表中。在這個命令之後,我們可以應用所有類型的SQL語句。


Spark SQL - Parquet文件

員工表已準備就緒。 現在讓我們使用SQLContext.sql()方法在表上傳遞一些SQL查詢。
選擇DataFrame上的查詢


使用以下命令從employee表中選擇所有記錄。 這裡,我們使用變量allrecords來捕獲所有記錄數據。 要顯示這些記錄,請調用show()方法。


Spark SQL - Parquet文件

要查看allrecords 數據源的結果數據,請使用以下命令。


Spark SQL - Parquet文件

輸出:


Spark SQL - Parquet文件


分享到:


相關文章: