国产睡熟迷奷白丝护士系列精品,中文色字幕网站,免费h网站在线观看的,亚洲开心激情在线

      <sup id="hb9fh"></sup>
          1. 千鋒教育-做有情懷、有良心、有品質的職業(yè)教育機構

            手機站
            千鋒教育

            千鋒學習站 | 隨時隨地免費學

            千鋒教育

            掃一掃進入千鋒手機站

            領取全套視頻
            千鋒教育

            關注千鋒學習站小程序
            隨時隨地免費學習課程

            當前位置:首頁  >  技術干貨  > Spark SQL 結構化數(shù)據(jù)處理流程及原理是什么?

            Spark SQL 結構化數(shù)據(jù)處理流程及原理是什么?

            來源:千鋒教育
            發(fā)布人:qyf
            時間: 2022-09-05 18:09:49 1662372589

              SparkSQL 結構化數(shù)據(jù)處理流程及原理是什么?Spark SQL 可以使用現(xiàn)有的Hive元存儲、SerDes 和 UDF。它可以使用 JDBC/ODBC 連接到現(xiàn)有的 BI 工具。有了 Spark SQL,用戶可以編寫 SQL 風格的查詢。

              Spark SQL 是 Spark 生態(tài)系統(tǒng)中處理結構化格式數(shù)據(jù)的模塊。它在內部使用 Spark Core API 進行處理,但對用戶的使用進行了抽象。這篇文章深入淺出地告訴你 Spark SQL 3.x 的新內容。

              這對于精通結構化查詢語言或 SQL 的廣大用戶群體來說,基本上是很有幫助的。用戶也將能夠在結構化數(shù)據(jù)上編寫交互式和臨時性的查詢。Spark SQL 彌補了彈性分布式數(shù)據(jù)集RDD和關系表之間的差距。RDD 是 Spark 的基本數(shù)據(jù)結構。它將數(shù)據(jù)作為分布式對象存儲在適合并行處理的節(jié)點集群中。RDD 很適合底層處理,但在運行時很難調試,程序員不能自動推斷模式schema。另外,RDD 沒有內置的優(yōu)化功能。Spark SQL 提供了數(shù)據(jù)幀DataFrame和數(shù)據(jù)集來解決這些問題。

              Spark SQL 可以使用現(xiàn)有的 Hive 元存儲、SerDes 和 UDF。它可以使用 JDBC/ODBC 連接到現(xiàn)有的 BI 工具。

              數(shù)據(jù)源

              大數(shù)據(jù)處理通常需要處理不同的文件類型和數(shù)據(jù)源(關系型和非關系型)的能力。Spark SQL 支持一個統(tǒng)一的數(shù)據(jù)幀接口來處理不同類型的源,如下所示。

              文件:

              CSV

              Text

              JSON

              XML

              JDBC/ODBC:

              MySQL

              Oracle

              Postgres

              帶模式的文件:

              AVRO

              Parquet

              Hive 表:

              Spark SQL 也支持讀寫存儲在 Apache Hive 中的數(shù)據(jù)。

              通過數(shù)據(jù)幀,用戶可以無縫地讀取這些多樣化的數(shù)據(jù)源,并對其進行轉換/連接。

              Spark SQL 3.x 的新內容

              在以前的版本中(Spark 2.x),查詢計劃是基于啟發(fā)式規(guī)則和成本估算的。從解析到邏輯和物理查詢計劃,最后到優(yōu)化的過程是連續(xù)的。這些版本對轉換和行動的運行時特性幾乎沒有可見性。因此,由于以下原因,查詢計劃是次優(yōu)的:

              1、缺失和過時的統(tǒng)計數(shù)據(jù)

              2、次優(yōu)的啟發(fā)式方法

              3、錯誤的成本估計

              Spark 3.x 通過使用運行時數(shù)據(jù)來迭代改進查詢計劃和優(yōu)化,增強了這個過程。前一階段的運行時統(tǒng)計數(shù)據(jù)被用來優(yōu)化后續(xù)階段的查詢計劃。這里有一個反饋回路,有助于重新規(guī)劃和重新優(yōu)化執(zhí)行計劃。

              自適應查詢執(zhí)行(AQE)

              查詢被改變?yōu)檫壿嬘媱?,最后變成物理計劃。這里的概念是“重新優(yōu)化”。它利用前一階段的可用數(shù)據(jù),為后續(xù)階段重新優(yōu)化。正因為如此,整個查詢的執(zhí)行要快得多。

              動態(tài)合并“洗牌”分區(qū)

              Spark 在“洗牌shuffle”操作后確定最佳的分區(qū)數(shù)量。在 AQE 中,Spark 使用默認的分區(qū)數(shù),即 200 個。這可以通過配置來啟用。

              動態(tài)切換連接策略

              廣播哈希是最好的連接操作。如果其中一個數(shù)據(jù)集很小,Spark 可以動態(tài)地切換到廣播連接,而不是在網(wǎng)絡上“洗牌”大量的數(shù)據(jù)。

              動態(tài)優(yōu)化傾斜連接

              如果數(shù)據(jù)分布不均勻,數(shù)據(jù)會出現(xiàn)傾斜,會有一些大的分區(qū)。這些分區(qū)占用了大量的時間。Spark 3.x 通過將大分區(qū)分割成多個小分區(qū)來進行優(yōu)化。

              其他改進措施

              此外,Spark SQL 3.x還支持以下內容。

              動態(tài)分區(qū)修剪

              3.x 將只讀取基于其中一個表的值的相關分區(qū)。這消除了解析大表的需要。

              連接提示

              如果用戶對數(shù)據(jù)有了解,這允許用戶指定要使用的連接策略。這增強了查詢的執(zhí)行過程。

              兼容 ANSI SQL

              在兼容 Hive 的早期版本的 Spark 中,我們可以在查詢中使用某些關鍵詞,這樣做是完全可行的。然而,這在 Spark SQL 3 中是不允許的,因為它有完整的 ANSI SQL 支持。例如,“將字符串轉換為整數(shù)”會在運行時產(chǎn)生異常。它還支持保留關鍵字。

              較新的 Hadoop、Java 和 Scala 版本

              從 Spark 3.0 開始,支持 Java 11 和 Scala 2.12。 Java 11 具有更好的原生協(xié)調和垃圾校正,從而帶來更好的性能。 Scala 2.12 利用了 Java 8 的新特性,優(yōu)于 2.11。

              Spark 3.x 提供了這些現(xiàn)成的有用功能,而無需開發(fā)人員操心。這將顯著提高 Spark 的整體性能。

              更多關于大數(shù)據(jù)培訓的問題,歡迎咨詢千鋒教育在線名師。千鋒教育擁有多年IT培訓服務經(jīng)驗,采用全程面授高品質、高體驗培養(yǎng)模式,擁有國內一體化教學管理及學員服務,助力更多學員實現(xiàn)高薪夢想。

            tags:
            聲明:本站稿件版權均屬千鋒教育所有,未經(jīng)許可不得擅自轉載。
            10年以上業(yè)內強師集結,手把手帶你蛻變精英
            請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
            免費領取
            今日已有369人領取成功
            劉同學 138****2860 剛剛成功領取
            王同學 131****2015 剛剛成功領取
            張同學 133****4652 剛剛成功領取
            李同學 135****8607 剛剛成功領取
            楊同學 132****5667 剛剛成功領取
            岳同學 134****6652 剛剛成功領取
            梁同學 157****2950 剛剛成功領取
            劉同學 189****1015 剛剛成功領取
            張同學 155****4678 剛剛成功領取
            鄒同學 139****2907 剛剛成功領取
            董同學 138****2867 剛剛成功領取
            周同學 136****3602 剛剛成功領取
            相關推薦HOT
            軟件開發(fā)管理流程中會出現(xiàn)哪些問題?

            一、需求不清需求不明確是導致項目失敗的主要原因之一。如果需求沒有清晰定義,開發(fā)人員可能會開發(fā)出不符合用戶期望的產(chǎn)品。二、通信不足溝通問...詳情>>

            2023-10-14 13:43:21
            軟件定制開發(fā)中的敏捷開發(fā)是什么?

            軟件定制開發(fā)中的敏捷開發(fā)是什么軟件定制開發(fā)中的敏捷開發(fā),從宏觀上看,是一個高度關注人員交互,持續(xù)開發(fā)與交付,接受需求變更并適應環(huán)境變化...詳情>>

            2023-10-14 13:24:57
            什么是PlatformIo?

            PlatformIO是什么PlatformIO是一個全面的物聯(lián)網(wǎng)開發(fā)平臺,它為眾多硬件平臺和開發(fā)環(huán)境提供了統(tǒng)一的工作流程,有效簡化了開發(fā)過程,并能兼容各種...詳情>>

            2023-10-14 12:55:06
            云快照與自動備份有什么區(qū)別?

            1、定義和目標不同云快照的主要目標是提供一種快速恢復數(shù)據(jù)的方法,它只記錄在快照時間點后的數(shù)據(jù)變化,而不是所有的數(shù)據(jù)。自動備份的主要目標...詳情>>

            2023-10-14 12:48:59
            服務器為什么要用Linux?

            服務器為什么要用Linux作為服務器操作系統(tǒng)的優(yōu)選,Linux在眾多選擇中脫穎而出。Linux作為服務器操作系統(tǒng)的優(yōu)選,有其獨特的優(yōu)勢和特點。包括其...詳情>>

            2023-10-14 12:34:11