Spinach: 使用Spark SQL進行即席查詢 [session]
講師:Daoyuan Wang (Intel), 李元健 (百度)
13:10–13:50 Friday, 2017-07-14
Spark及更多發展 (Spark & beyond)
地點: 紫金大廳B
觀眾水平:中級
必要預備知識
觀眾需要了解Spark SQL或瞭解資料查詢相關知識,最好能夠了解Spark SQL的data source API。
您將學到什麼
使用分散式索引對大規模分散式資料查詢進行優化的思想,利用Spark提供的data source API對Spark進行擴充套件的設計思想與實現能力。
描述
在資料倉儲中用Spark SQL進行批量查詢,已經是工業界較為常見的做法,然而儘管Spark SQL已經能支援對豐富的資料來源進行高效的資料處理,但對於秒級的查詢需求,Spark SQL尚有不足,而很多企業對此也有很大需求。我們基於Spark SQL開發的專案Spinach,正是為了滿足秒級甚至更高要求的即席查詢需求。
Spinach以Fiber為基本單位提供了一套細粒度的分層快取機制,將資料快取在堆外記憶體中,可以有效加速資料的載入。同時,Spinach擴充了Spark SQL的DDL,允許使用者自定義索引,目前支援B+樹索引和布隆過濾器,可以讓使用者根據資料特點定義高效的索引,進一步減少IO操作,提升查詢效率。Spinach執行時與Spark SQL共享同一個程式,不會引入額外的維護成本。
2016年,Intel與百度合作的Spinach平臺首個版本在百度內部開放使用,幫助多個核心產品團隊從過去低效的批量作業查詢方式升級至即席查詢模式。在百度的鳳巢廣告系統中,資料工程師基於每日數T的點選、展現日誌進行廣告效果分析,Spinach將查詢效能提升至原生Spark SQL的5倍,尤其在複雜查詢及大資料量分析的場景下將平均延遲從分鐘級降低至秒級,同時僅增加3%的索引資料消耗。
講師介紹
Daoyuan Wang (Intel)
王道遠,英特爾亞太研發有限公司資深軟體研發工程師,Apache Spark社群的活躍貢獻者,自2014年起參與Spark SQL開發。在此之前,曾參與IDH版本Hive的開發工作。譯有《Spark快速大資料分析》一書。
李元健 (百度)
李元健,百度基礎架構部資深研發工程師,Apache Spark contributor。11年加入百度,先後參與並負責百度實時計算平臺DStream,Tracing平臺Rig,Spark平臺及公有云BigSQL等核心服務的研發工作。
Strata Data Conference北京站正在報名中,點選閱讀原文可登入會議網站。
注意:早期票價優惠期截止到6月9日,儘快註冊以確保留位。
相關文章
- 檢查sql or session 執行的進度SQLSession
- 如何使用PL/SQL進行分級查詢WPSQL
- 使用T-SQL進行活動目錄查詢SQL
- 查詢session被鎖的sql(轉)SessionSQL
- Oracle 查詢某個session正在執行的sql語句OracleSessionSQL
- 使用MDX進行環比查詢
- 自適應查詢執行:在執行時提升Spark SQL執行效能SparkSQL
- 適用於即席查詢(Ad-Hoc)的OLAP引擎
- Databricks 第11篇:Spark SQL 查詢(行轉列、列轉行、Lateral View、排序)SparkSQLView排序
- 查詢oracle比較慢的session和sqlOracleSessionSQL
- 幾個定位、查詢session的sql語句SessionSQL
- 使用Excel進行快速模糊查詢的方法Excel
- JPA使用Specification pattern 進行資料查詢
- 查詢oracle比較慢的session和SQL[轉]OracleSessionSQL
- 使用者查詢當前session IDSession
- MySQL 查詢處理 SQL查詢執行順序MySql
- oracle session阻塞查詢OracleSession
- 查詢等待的sessionSession
- 如何使用Java Streams進行資料庫查詢?Java資料庫
- Linq to Sql : 動態構造Expression進行動態查詢SQLExpress
- LangChain SQL介紹以及使用Qwen1.5執行SQL查詢教程LangChainSQL
- SQL查詢語句使用 (轉)SQL
- DB常用指令碼 - 查詢正在執行的active session及對應sql ,等待事件指令碼SessionSQL事件
- 通過linux程式號(pid)查詢Oracle的session中都執行那些sqlLinuxOracleSessionSQL
- Spark SQL解析查詢parquet格式Hive表獲取分割槽欄位和查詢條件SparkSQLHive
- sql查詢是如何執行的?SQL
- 在MySQL中使用explain查詢SQL的執行計劃MySqlAI
- Yii1.1中通過Sql查詢進行的分頁操作SQL
- 通過SQL Server對上傳檔案內容進行查詢SQLServer
- ApacheSolr+PHP進行全文查詢ApacheSolrPHP
- SQL查詢的:子查詢和多表查詢SQL
- 使用sqltrace跟蹤session執行的sqlSQLSession
- Java 中如何使用 SQL 查詢 TXTJavaSQL
- 使用RESULT CACHE加速SQL查詢效率SQL
- 使用SQL實現特殊查詢(1)SQL
- SQL Server 資料訪問策略:即席SQLCUSQLServer
- 如何使用 Eloquent 在兩個日期之間進行查詢?
- 【SQL查詢】集合查詢之INTERSECTSQL