通過EMR+DLF資料湖方案,可以為企業提供資料湖內的統一的中繼資料管理,統一的許可權管理,支援資料湖的多種管理如資料生命週期、湖格式自動最佳化、儲存分析等。同時支援多來源資料入湖以及一站式資料探索的能力。本文為您介紹EMR+DLF資料湖方案具體實踐步驟。
背景資訊
採用EMR+DLF資料湖解決方案,相對傳統EMR資料湖方案有下列優點:
DLF提供資料湖跨引擎的統一的,全託管免營運的中繼資料服務。
支援可視化的中繼資料管理,以及多版本管理和回退。
支援可視化一鍵中繼資料遷移。
支援中繼資料全文檢索索引。
支援中繼資料DataProfile,如檔案大小、行數、訪問頻次、小檔案數量、檔案冷熱度、有效檔案數等。
支援除EMR開源引擎外的更多計算引擎,如MaxCompute、Flink、Hologres等多種引擎。
DLF提供豐富的細粒度資料許可權控制。
支援按照資料目錄、資料庫、資料列、函數等資源的各種細粒度許可權點的可視化配置。
支援與EMR中多種計算引擎整合,包括Spark、Hive、Presto、Impala多種計算引擎。
提供豐富的資料湖管理能力。
支援多種維度資料生命週期管理,可以對資料按照冷熱、更新時間等自動化歸檔,節省儲存成本。
支援針對Delta資料湖格式的自動化儲存最佳化策略,節省儲存成本。
其他說明
目前DLF服務已開通的地區,請參見已開通的地區和訪問網域名稱。
關於DLF收費,請參見計費模式。
操作流程
步驟一:建立DLF統一中繼資料的EMR DataLake叢集
建立EMR叢集,並使用DLF作為中繼資料。
建立E-MapReduce叢集,輸入選項如下:
業務情境:選擇資料湖。
可選服務:需要至少選中Hive組件,其他組件根據業務需要選擇。
中繼資料:選擇DLF 統一中繼資料。
DLF資料目錄:選擇預設的DLF Catalog,或者建立一個資料目錄(Catalog)。如果您沒有開通DLF,會提醒您先開通DLF產品。
繼續其他配置完成EMR叢集建立。詳情請參見建立叢集。
步驟二:初始化中繼資料
初始化中繼資料分為以下三種情況:
原有EMR叢集(內建MySQL或自建RDS做中繼資料),需要將原叢集的中繼資料遷移到DLF中。相關內容請參見EMR中繼資料遷移DLF最佳實務。
建立EMR叢集,沒有歷史中繼資料。您可以通過DLF來可視化建立中繼資料,或者使用Hive、Spark SQL來建立資料庫和資料表等。
登入資料湖構建控制台,選擇與OSS相同的地區,例如華東1(杭州)。
在左側導覽列,選擇
。單擊資料庫頁簽,單擊建立資料庫。
在建立資料庫頁面,配置中繼資料庫參數,單擊確定。
建立EMR叢集,已有資料存在OSS中,但沒有中繼資料資訊。可以使用中繼資料抽取來識別OSS上資料的中繼資料資訊,並儲存在DLF中。最佳實務,請參見DLF資料探索快速入門-淘寶使用者行為分析。
步驟三:初始化資料
初始化資料一般常見的幾種情況如下:
原有EMR叢集,需要進行資料移轉。此時可以考慮通過JindoDistCp工具將原叢集的資料移轉到OSS中。
從RDS、MySQL、Kafka等業務系統接入資料。此時可以考慮通過Realtime ComputeFlink實現資料入湖到DLF中。可參考如何在Flink中管理DLF Catalog。
步驟四:通過Spark/Presto引擎查詢DLF表
通過SSH方式登入到EMR叢集的Master-1-1節點,詳情請參見登入叢集。
通過spark-sql查詢表。
執行以下命令,啟動spark-sql。
spark-sql
輸入SQL,查詢表資料。
SELECT * FROM <database>.<table>;
通過presto查詢表。
執行以下命令,進入Presto命令列。
presto --server master-1-1:8889
輸入SQL,查詢表資料。
SELECT * FROM <catalog>.<database>.<table>;
命令中的參數說明如下:
參數名稱
說明
<catalog>
待串連的資料來源的名稱。
您可以通過
show catalogs;
命令查看所有的Catalog;或者在EMR控制台Presto服務的配置頁簽,查看所有的Catalog。<database>
待查詢的資料庫的名稱。
<table>
待查詢的資料表。
例如,如果要查看Hive資料來源中預設資料庫中的
test
表的資料,您可以使用SELECT * FROM hive.default.test;
命令。
步驟五(可選):開啟資料許可權控制
有些業務情境對資料安全要求較高,需要對資料湖內的資料許可權進行合理控制。此時您需要以下兩步來完成資料許可權的開啟:
以上兩個步驟完成後,您的整個EMR叢集的資料訪問將會受到資料許可權控制,如果沒有許可權的使用者訪問叢集資料,將會被拒絕。
此時可以參考DLF的資料授權,為相應使用者配置合理的資料許可權。相關內容請參見DLF+EMR之統一許可權最佳實務。
步驟六(可選):生命週期管理
您可以通過生命週期管理對資料湖中的資料庫、資料表配置資料管理規則,可以基於分區/表建立時間、分區/表最近修改時間、分區值三種規則類型,對資料定期進行OSS儲存類型轉換,從而節省資料存放區成本。具體操作和說明請參考生命週期管理。