Apache Atlas2.0 第四節 執行流程

  1. 首先從官網查了一下支持的數據源:

Hive sqoop Falcon Storm

普及一下Apache Falcon是一個開源的hadoop數據生命週期管理框架, 它提供了數據源 (Feed) 的管理服務,如生命週期管理,備份,存檔到雲等,通過Web UI可以很容易地配置這些預定義的策略, 能夠大大簡化hadoop集羣的數據流管理

  1. 安裝之前需要手動配置 atlas-application.properties包括SOLR,KAFKA, HBASE,支持配置其他集羣
  2. 讀取配置加載類atlas-plugin-classloader-1.1.0.jar
  3. atlas_start.py 加載一些基礎的Type,(基本都是寫死到代碼層面的)源碼(HiveDataTypes
  4. atlas安裝並啓動完之後,這個時候系統還是空的,atlas是 通過HOOK去監聽你的HIVE語句,所以一般我們會通過atlas的import_hive.sh先把HIVE裏的表,數據庫等信息全部導入到atlas, 之後如果表有操作,通過接收KAFKA的數據再進行處理
  5. 以Hive爲例說明:

導入 Hive Metadata,org.apache.atlas.hive.bridge.HiveMetaStoreBridge 使用 org.apache.atlas.hive.model.HiveDataModelGenerator 中定義的模型將 Hive 元數據導入 Atlas。 import-hive.sh 命令可以用來方便這一點。腳本需要 Hadoop 和 Hive 類路徑 jar。 對於 Hadoop jar,請確保環境變量 HADOOP_CLASSPATH 已設置。另一種方法是將 HADOOP_HOME 設置爲指向 Hadoop 安裝的根目錄同樣,對於 Hive jar,將 HIVE_HOME 設置爲 Hive 安裝的根目錄將環境變量 HIVE_CONF_DIR 設置爲 Hive 配置目錄複製 ${atlas-conf}/atlas-application.properties 到 hive conf 目錄

Hive 在使用 hive hook 的 hive 命令執行上支持偵聽器。 這用於在 Atlas 中使用 org.apache.atlas.hive.model.HiveDataModelGenerator 中定義的模型添加/更新/刪除實體。 hive hook 將請求提交給線程池執行器,以避免阻塞命令執行。 線程將實體作爲消息提交給通知服務器,並且服務器讀取這些消息並註冊實體,裏面有各種配置信息,請查看http://atlas.apache.org/Configuration.html

以字段血緣關係爲例說明

ColumnLineageProcess 類型是 Process 的子類,這將輸出列與一組輸入列或輸入表相關聯

Lineage 還捕獲 Dependency 的類型:當前的值是 SIMPLE,EXPRESSION,SCRIPT

SIMPLE依賴: 意味着輸出列具有與輸入相同的值

EXPRESSION依賴: 意味着輸出列被輸入列上的運行時中的一些表達式(例如Hive SQL表達式)轉換。

SCRIPT依賴: 表示輸出列由用戶提供的腳本轉換。

在 EXPRESSION 依賴的情況下,表達式屬性包含字符串形式的表達式

由於 Process 鏈接輸入和輸出 DataSet,我們使 Column 成爲 DataSet 的子類

Limitations(規則)以下 hive 操作由 hive hook 當前捕獲

create database

create table/view, create table as select

load, import, export

DMLs (insert)

alter database

alter table (skewed table information, stored as, protection is not supported)

alter view

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章