spark官方文件 Spark快速開發框架

2021-10-12 16:54:08 字數 1417 閱讀 3713

本人從 2014 年開始使用 apache spark,基於以往專案經驗,為了降低專案開發複雜度,減少開發成本,開發了 light-spark 框架。 本框架遮蔽了底層技術細節,讓開發人員面向 sql 程式設計,更專注於業務邏輯,減少開發過程中 debug 工作,讓 apache spark 更方便使用。

專案業務大部分功能可以用 sql 實現,符合以下情況,建議使用本框架:

面向配置程式設計

核心思想是面向 spark dataframe(sql) 程式設計,通過 dataframe 串聯起資料處理流程各個環節,使用 sparksql 處理業務邏輯,並定義到配置檔案,以便於開發和後期維護,業務調整時避免修改**。 同時,暴露介面支援開發人員自定義硬編碼,實現不能使用 sql 處理的複雜邏輯,通過配置,把這些邏輯納入整個處理流程。

啟動指令碼樣例

開發過程中,可以通過配置,自動把指定步驟的結果持久化儲存,支援 hdfs csv、hive 表

支援讀取 hive 資料;

支援讀取 hdfs 資料,配置中定義好欄位資訊後自動載入成表;

支援讀取 classpath 資料,配置中定義好欄位資訊後自動載入成表;

支援資料來源型別比較複雜時,支援 自定義 處理源資料為表;

支援讀取 jdbc 的源資料,jdbcopts 中引數請看 sparksql官方文件;

支援 sparksql 處理。

處理邏輯較複雜,sql 較難實現時,支援硬編碼實現業務需求。

儲存到 hdfs ,格式可以選擇為 txt / lzo 。

儲存到 hive 。

儲存到支援 jdbc 的資料庫。

本框架支援在配置中自定義及使用變數,支援變數巢狀使用

支援通過日期表示式定義日期,表示式格式為

date([yyyy-mm-dd, 20200722, yyyymmdd][+3d][-1m][+1y]...)
...constansmap:  today: "$" # 當前日期    today2: "$" # 2020-08-05 所在月份,2020-08  date1: "$" # 2020-08-05 減一天,2020-08-04  date2: "$][-1d])}" # 2020-08-04 減 1 天,2020-08-03  date3: "$][-1d])}" # 2020-08-03 減 1 天,2020-08-02  date4: "$, yyyy-mm-dd][-1m])}" # 2020-08-02 減 1 月月份,2020-07  date5: "$, yyyy-mm][-1d])}" # 2020-07 月初減 1 天, 2020-06-30...
完整樣例請看 full-batch.yaml

Spark學習之路 官方文件 簡單

英文原文 中文文件 1.1 rdd programming guide 英文原文 中文文件 1.2 spark sql,dataframes and datasets guide 英文原文 中文文件 看完官方的技術文件實踐後,自己可以試著實現spark的三種執行方式 spark2.1.1中用各種模式...

spark官方文件 Spark(1) 寫在前面

原始碼環境說明 spark 2.2.0 clustermanager yarn hadoop 2.6.5 spark版本進入2.0.0以後更新速度明顯放緩,最新的2.4.0版本穩定性有待驗證,投入生產環境為時尚早且更新的新特性較少,所以選擇了2.2.0版本作為投稿的原始碼環境。原始碼的分析順序按照s...

spark中文文件

spark 概述 程式設計指南 快速入門 spark 程式設計指南 構建在 spark 之上的模組 spark streaming 程式設計指南 spark sql,dataframes and datasets guide mllib graphx programming guide api 文件...