Atlas的深度實踐

2021-03-02 大數據技術之美
1、Atlas的基本概述

談到數據治理,自然離不開元數據。元數據(Metadata),用一句話定義就是:描述數據的數據。元數據打通了數據源、數據倉庫、數據應用,記錄了數據從產生到消費的全過程。因此,數據治理的核心就是元數據管理。

數據的真正價值在於數據驅動決策,通過數據指導運營。通過數據驅動的方法判斷趨勢,幫助我們發現問題,繼而推動創新或產生新的解決方案。隨著企業數據爆發式增長,數據體量越來越難以估量,我們很難說清楚我們到底擁有哪些數據,這些數據從哪裡來,到哪裡去,發生了什麼變化,應該如何使用它們。因此元數據管理(數據治理)成為企業級數據湖不可或缺的重要組成部分。

可惜很長一段時間內,市面都沒有成熟的數據治理解決方案。直到2015年,Hortonworks終於坐不住了,約了一眾小夥伴公司倡議:咱們開始整個數據治理方案吧。然後,包含數據分類、集中策略引擎、數據血緣、安全和生命周期管理功能的Atlas應運而生。(PS:另一個應用的較多的元數據開源項目是Linkedin 在2016年新開源的項目:WhereHows)Atlas目前最新的版本為2018年9月18日發布的1.0.0版本。

Atlas 是一個可伸縮和可擴展的核心基礎治理服務集合 ,使企業能夠有效地和高效地滿足 Hadoop 中的合規性要求,並允許與整個企業數據生態系統的集成。

Apache Atlas為組織提供開放式元數據管理和治理功能,用以構建其數據資產目錄,對這些資產進行分類和管理,並為數據科學家,數據分析師和數據治理團隊提供圍繞這些數據資產的協作功能。

2、Atlas的架構概述


Core:核心模塊

核心模塊當中又包含以下幾大模塊:

Type System:類型系統

Atlas允許用戶為他們要管理的元數據對象定義模型。該模型由稱為「類型」的定義組成。稱為「實體」的「類型」實例代表所管理的實際元數據對象。類型系統是允許用戶定義和管理類型和實體的組件。開箱即用的Atlas管理的所有元數據對象(例如,像Hive表一樣)均使用類型進行建模,並表示為實體。為了在Atlas中存儲新類型的元數據,需要了解類型系統組件的概念。

Graph Engine:圖形引擎

在內部,Atlas保留使用Graph模型管理的元數據對象。這種方法提供了極大的靈活性,並可以有效處理元數據對象之間的豐富關係。圖引擎組件負責在Atlas類型系統的類型和實體以及基礎圖持久性模型之間進行轉換。除了管理圖形對象之外,圖形引擎還為元數據對象創建適當的索引,以便可以高效地搜索它們。Atlas使用JanusGraph存儲元數據對象。

Ingest / Export:提取/導出

「提取」組件允許將元數據添加到Atlas。同樣,導出組件將Atlas檢測到的元數據更改公開為事件。消費者可以使用這些更改事件來實時響應元數據更改


Integration:元數據管理集成模塊

用戶可以使用兩種方法在Atlas中管理元數據:

API:

Atlas的所有功能都通過REST API向最終用戶公開,該API允許創建,更新和刪除類型和實體。它也是查詢和發現Atlas管理的類型和實體的主要機制。

Messaging:

除了API,用戶還可以選擇使用基於Kafka的消息傳遞接口與Atlas集成。這對於將元數據對象傳達給Atlas以及從Atlas消耗元數據更改事件(用於構建應用程式)都是很有用的。如果有人希望使用與Atlas的鬆散耦合集成,以實現更好的可伸縮性,可靠性等,則該消息傳遞接口特別有用。Atlas使用Apache Kafka作為通知伺服器,用於掛鈎和元數據通知事件的下遊使用者之間的通信。這些事件由鉤子和Atlas編寫,涉及不同的Kafka主題。


Metadata Sources元數據源

Atlas支持與許多現成的元數據源集成。將來還將添加更多集成。當前,Atlas支持從以下來源提取和管理元數據:

集成意味著兩件事:Atlas原生定義了一些元數據模型來表示這些組件的對象。Atlas提供了一些組件,可以從這些組件(實時或在某些情況下為批處理模式)中提取元數據對象

APPS 應用領域

Atlas管理的元數據被各種應用程式使用,以滿足許多治理用例。

Atlas Admin UI:此組件是一個基於Web的應用程式,允許數據管理員和科學家發現和注釋元數據。這裡最重要的是搜索界面和類似SQL的查詢語言,可用於查詢Atlas管理的元數據類型和對象。管理員界面使用Atlas的REST API來構建其功能。

基於標籤的策略:Apache Ranger是針對Hadoop生態系統的高級安全管理解決方案,與各種Hadoop組件廣泛集成。通過與Atlas集成,Ranger使安全管理員可以定義元數據驅動的安全策略以進行有效的管理。Ranger是Atlas通知的元數據更改事件的使用者。

3、Atlas的編譯

Atlas這個軟體框架在官網http://atlas.apache.org/#/ 上面沒有給我們提供線程的二進位安裝包,只提供了源碼包,所以需要我們自己去對源碼包進行編譯,編譯源碼包的過程比較簡單,但是由於網絡原因等,會造成我們一直編譯不通過。所以我們知道如何編譯Atlas即可,不用自己動手去編譯(一般由於網絡原因,也會編譯不通過的)

第一步:安裝jdk

注意:Atlas1.x及以上的版本的編譯,必須使用jdk版本高於jdk-8u151的版本,我們這裡選擇使用jdk-8u231這個版本即可,只要版本高於8u151的都行。

linux下面安裝jdk的步驟省略

第二步:安裝maven

maven的版本儘量選擇高一點的版本,這裡選擇使用3.6.x的版本都行,具體我這裡使用的是3.6.2的版本來進行編譯,沒有問題

linux安裝maven步驟省略

第三步:下載源碼準備編譯

我們這裡使用1.2.0這個版本來進行編譯,下載Atlas的源碼,然後解壓,進行編譯即可

統一linux的軟體下載以及軟體編譯目錄

 定義軟體下載目錄
 mkdir  -p /kkb/soft  
 定義軟體安裝目錄
 mkdir -p /kkb/install
 
 下載Atlas的軟體安裝包
 cd /kkb/soft
 wget https://www.apache.org/dyn/closer.cgi/atlas/1.2.0/apache-atlas-1.2.0-sources.tar.gz
 
 解壓源碼安裝包
 tar -zxf apache-atlas-1.2.0-sources.tar.gz  -C /kkb/install/
 
 準備進行編譯
 cd /kkb/install/apache-atlas-sources-1.2.0/
 export MAVEN_OPTS="-Xms2g -Xmx2g"
 使用以下命令進行編譯 表示使用外部的hbase與solr
 mvn clean package -DskipTests -Pdist,external-hbase-solr
 
 如果要使用Atlas內嵌的HBase與solr,那麼我們可以執行以下命令進行編譯
 mvn clean package -DskipTests -Pdist,embedded-hbase-solr
 

編譯好的安裝包路徑位於

 /kkb/install/apache-atlas-sources-1.2.0/distro/target

這個路徑下,獲取到以下這個壓縮包即可

編譯過程中稍微注意下:需要下載一個包linux-x64-57_binding.node  這個包很難下載下來,我們可以給手動下載下來,然後放到編譯linux機器的的/root/.npm/node-sass/4.13.1 這個路徑下即可

4、Atlas的安裝與前置環境準備

Atlas是用於做元數據管理的,可以用於來集成各種框架的元數據管理,例如可以用來集成hbase,集成solr,集成kafka,集成hive等,所以我們需要提前安裝好hbase,solr,kafka,hive等框架,我們這裡主要用於集成kafka,hbase,hive等這幾個框架。所以我們需要提前啟動kafka,啟動hbase,以及啟動hive的hiveserver2以及metastore服務等


安裝並啟動zookeeper服務

安裝好zookeeper之後並啟動zookeeper


安裝並啟動hadoop服務

安裝好hadoop,我們這裡使用的版本是CDH5.14.2這個版本


安裝啟動hbase服務

安裝好hbase,並啟動hbase的服務,我們這裡使用的hbase的版本是CDH5.14.2


安裝啟動hive的服務

安裝好hive


安裝並啟動好solr集群服務

Atlas需要一個搜尋引擎服務作為Atlas的數據搜索服務,可以使用solrCloud或者使用Elasticsearch都行,我們這裡選擇使用SolrCloud作為Atlas的集群搜索服務,所以我們需要安裝SolrCloud服務,我們這裡選擇使用solr5.5.2這個版本

第一步:下載solr安裝包並解壓

下載solr5.5.2安裝包,並上傳到node01伺服器的/kkb/soft路徑下

 cd  /kkb/soft
 tar -zxf solr-5.5.2.tgz -C /kkb/install/

第二步:修改solr配置文件

node01執行以下命令修改solr配置文件

 cd /kkb/install/solr-5.5.2/bin
 
 vim solr.in.sh
 
 ZK_HOST="node01:2181,node02:2181,node03:2181"
 SOLR_HOST="node01"

第三步:分發安裝包

分發solr安裝包到node02與node03伺服器

node01執行以下命令分發solr安裝包到node02與node03伺服器

 cd /kkb/install/
 scp -r solr-5.5.2/ node02:$PWD
 scp -r solr-5.5.2/ node03:$PWD

第四步:單獨修改node02與node03配置文件

node02執行以下命令修改 SOLR_HOST配置項

 cd /kkb/install/solr-5.5.2/bin/
 vim solr.in.sh
 
 SOLR_HOST="node02"

node03執行以下命令修改 SOLR_HOST配置項

 cd /kkb/install/solr-5.5.2/bin/
 vim solr.in.sh
 
 SOLR_HOST="node03"

第五步:啟動solr服務

三臺機器啟動solr服務

三臺機器執行以下命令啟動solr服務

 cd /kkb/install/solr-5.5.2/
 bin/solr start

第六步:瀏覽器頁面訪問

瀏覽器頁面訪問

http://node01:8983/solr/#/

出現cloud選項,證明solr集群安裝成功

安裝Atlas集成其他框架Atlas集成HBase服務第一步:上傳壓縮包並解壓

上傳Atlas編譯之後的安裝包並進行解壓

將Atlas的安裝包上傳到node03伺服器的/kkb/soft路徑下,然後進行解壓

 cd /kkb/soft
 tar -zxf apache-atlas-1.2.0-bin.tar.gz -C /kkb/install/

第二步:修改atlas-application.properties 更改Atlas存儲數據主機名

修改Atlas的存儲數據主機名

node03執行以下命令修改Atlas連接zk的地址

 cd /kkb/install/apache-atlas-1.2.0/conf
 vim atlas-application.properties
 
 atlas.graph.storage.hostname=node01:2181,node02:2181,node03:2181

第三步:修改Atlas與HBase集成文件

修改Atlas與HBase的集成配置文件

node03執行以下命令,修改Atlas連接hbase的配置文件夾路徑

 直接通過連結的方式即可,將hbase的配置文件夾conf目錄,連結到Atlas對應hbase的配置文件夾下
 ln -s /kkb/install/hbase-1.2.0-cdh5.14.2/conf /kkb/install/apache-atlas-1.2.0/conf/hbase/conf
 
 在Atlas的conf目錄下的hbase文件夾下面創建一個連接文件夾,連接到hbase的conf配置文件

第四步:修改atlas-env.sh配置文件

修改atlas-env.sh添加hbase配置路徑

node03執行以下命令修改JAVA_HOME以及修改HBASE_CONF_DIR路徑

 修改atlas-env.sh 添加hbase的配置文件的路徑
 cd /kkb/install/apache-atlas-1.2.0/conf/
 vim atlas-env.sh
 
 #修改java環境變量
 export JAVA_HOME=/kkb/install/jdk1.8.0_141
 #添加這一行配置項
 export HBASE_CONF_DIR=/kkb/install/apache-atlas-1.2.0/conf/hbase/conf

Atlas集成Solr服務第一步:修改Atlas配置文件 atlas-application.properties

node03執行以下命令修改Atlas的配置文件 atlas-application.properties

 cd /kkb/install/apache-atlas-1.2.0/conf/
 vim atlas-application.properties
 
 atlas.graph.index.search.backend=solr
 atlas.graph.index.search.solr.zookeeper-url=node01:2181,node02:2181,node03:2181
 atlas.graph.index.search.solr.mode=http
 atlas.graph.index.search.solr.http-urls=http://node01:8983/solr
 

第二步:拷貝atlas配置文件到solr裡面去

將Atlas自帶的solr配置文件拷貝到node03伺服器的Solr安裝目錄下

 cp -r /kkb/install/apache-atlas-1.2.0/conf/solr /kkb/install/solr-5.5.2/
 重命名文件夾名稱
 cd /kkb/install/solr-5.5.2/
 mv solr/ atlas_conf

第三步:同步拷貝後的配置文件到node01與node02

同步node01伺服器的配置文件到node01和node02

 node01執行以下命令進行同步
 cd /kkb/install/solr-5.5.2/
 scp -r atlas_conf/ node01:$PWD
 scp -r atlas_conf/ node02:$PWD

第四步:創建solr的collection

在solrCloud模式下,啟動solr,並創建collection

node01執行以下命令來創建collection

 cd /kkb/install/solr-5.5.2/
 bin/solr create -c vertex_index -d /kkb/install/solr-5.5.2/atlas_conf/ -shards 3 -replicationFactor 2      
 
 
 bin/solr create -c edge_index -d /kkb/install/solr-5.5.2/atlas_conf -shards 3 -replicationFactor 2
 
 bin/solr create -c fulltext_index -d /kkb/install/solr-5.5.2/atlas_conf -shards 3 -replicationFactor 2
 

-shards 3:表示該集合分片數為3

-replicationFactor 2:表示每個分片數都有2個備份

vertex_index、edge_index、fulltext_index:表示集合名稱

注意:如果需要刪除vertex_index、edge_index、fulltext_index等collection可以執行如下命令。

 cd /kkb/install/solr-5.5.2/
 bin/solr delete -c ${collection_name}

驗證創建collection成功

瀏覽器頁面訪問http://node01:8983/solr/#/~cloud看到以下效果證明創建成功

Atlas集成Kafka服務第一步:修改Atlas配置文件 atlas-application.properties

修改Atlas配置文件atlas-application.properties

node03執行以下命令修改配置文件內容

 cd /kkb/install/apache-atlas-1.2.0/conf
 vim atlas-application.properties
 
 
 atlas.notification.embedded=false
 atlas.kafka.zookeeper.connect=node01:2181,node02:2181,node03:2181
 atlas.kafka.bootstrap.servers=node01:9092,node02:9092,node03:9092
 atlas.kafka.zookeeper.session.timeout.ms=4000
 atlas.kafka.zookeeper.connection.timeout.ms=2000
 atlas.kafka.enable.auto.commit=true

第二步:創建kafka的topic

創建kafka的topic

Atlas與kafka集成需要創建兩個topic,這兩個topic的名字配置在atlas-application.properties這個配置文件裡面

 atlas.notification.topics=ATLAS_HOOK,ATLAS_ENTITIES

node01執行以下命令創建這兩個topic

 cd /kkb/install/kafka_2.11-1.1.0/
 bin/kafka-topics.sh --zookeeper node01:2181,node02:2181,node03:2181 --create --replication-factor 3 --partitions 3 --topic ATLAS_HOOK
 
 bin/kafka-topics.sh --zookeeper node01:2181,node02:2181,node03:2181 --create --replication-factor 3 --partitions 3 --topic ATLAS_ENTITIES

Atlas集成hive服務第一步:修改Atlas配置文件 atlas-application.properties

修改Atlas配置文件atlas-application.properties

node03執行以下命令修改配置文件內容

 cd /kkb/install/apache-atlas-1.2.0/conf
 vim atlas-application.properties
 
 #手動添加以下配置,這些配置在配置文件裡面沒有,需要我們自己手動添加
 ######### Hive Hook Configs #######
 atlas.hook.hive.synchronous=false
 atlas.hook.hive.numRetries=3
 atlas.hook.hive.queueSize=10000
 atlas.cluster.name=primary
 

第二步:添加配置文件放到jar包裡面去

將atlas-application.properties配置文件添加到atlas-plugin-classloader-1.2.0.jar包

 node03執行以下命令,將atlas-application.properties這個配置文件添加到atlas-plugin-classloader-1.2.0.jar這個jar包
 
 sudo yum -y install zip
 cd /kkb/install/apache-atlas-1.2.0/conf
  zip -u /kkb/install/apache-atlas-1.2.0/hook/hive/atlas-plugin-classloader-1.2.0.jar atlas-application.properties

第三步:拷貝配置文件到hive的conf目錄下

node03執行以下命令,將atlas-application.properties配置文件,拷貝到hive的conf目錄下

 node01執行以下命令進行拷貝
 cd /kkb/install/apache-atlas-1.2.0/conf/
 cp atlas-application.properties /kkb/install/hive-1.1.0-cdh5.14.2/conf/  
 

第四步:修改hive-env.sh配置外部jar包

node03執行以下命令修改hive-env.sh添加外部jar包

 cd /kkb/install/hive-1.1.0-cdh5.14.2/conf
 vim hive-env.sh
 
 export HIVE_AUX_JARS_PATH=/kkb/install/apache-atlas-1.2.0/hook/hive

第五步:修改hive-site.xml

修改hive-site.xml配置文件

node03執行以下命令修改hive的配置文件hive-site.xml

 cd /kkb/install/hive-1.1.0-cdh5.14.2/conf
 vim hive-site.xml
 
 <property>
      <name>hive.exec.post.hooks</name> <value>org.apache.atlas.hive.hook.HiveHook,org.apache.hadoop.hive.ql.hooks.LineageLogger</value>
 </property>

Atlas其他配置選項第一步:修改Atlas的主機名

node03執行以下命令,修改配置文件atlas-application.properties

 cd /kkb/install/apache-atlas-1.2.0/conf/
 vim atlas-application.properties
 
 atlas.rest.address=http://node03:21000
 atlas.audit.hbase.zookeeper.quorum=node01:2181,node02:2181,node03:2181

第二步:修改Atlas的日誌配置文件

node03執行以下命令修改atlas的日誌服務配置文件atlas-log4j.xml

 cd /kkb/install/apache-atlas-1.2.0/conf
 vim atlas-log4j.xml
 
 以下配置在文件當中已經存在,只不過被注釋掉了,直接打開即可
 
 <appender name="perf_appender" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="file" value="${atlas.log.dir}/atlas_perf.log" />
        <param name="datePattern" value="'.'yyyy-MM-dd" />
        <param name="append" value="true" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d|%t|%m%n" />
        </layout>
    </appender>
 
    <logger name="org.apache.atlas.perf" additivity="false">
        <level value="debug" />
        <appender-ref ref="perf_appender" />
    </logger>



5、Atlas啟動服務並訪問頁面

node03執行以下命令啟動Atlas的服務

 cd /kkb/install/apache-atlas-1.2.0
 bin/atlas_start.py

瀏覽器頁面訪問:

http://node03:21000/#!/search

用戶名:admin

密碼:admin


6、導入hive元數據到Atlas當中來

將hive元數據導入到Atlas當中來進行管理

第一步:node03配置hive環境變量

node03執行以下命令,配置hive的環境變量

 sudo vim /etc/profile
 
 export HIVE_HOME=/kkb/install/hive-1.1.0-cdh5.14.2
 export PATH=:$HIVE_HOME/bin:$PATH
 
 source /etc/profile

第二步:驗證hive功能正常

node03執行以下命令進入hive客戶端,如果hive功能正常即可

 [hadoop@node03 hive]$ cd /kkb/install/hive-1.1.0-cdh5.14.2/
 [hadoop@node03 hive-1.1.0-cdh5.14.2]$ hive
 hive (default)> show databases;

第三步:導入hive元數據到atlas

node03執行以下命令導入hive元數據

 cd /kkb/install/apache-atlas-1.2.0/
 bin/import-hive.sh

導入過程中會報以下錯誤

 Exception in thread "main" java.lang.NoClassDefFoundError: com/fasterxml/jackson/jaxrs/json/JacksonJaxbJsonProvider
        at org.apache.atlas.AtlasBaseClient.getClient(AtlasBaseClient.java:270)
        at org.apache.atlas.AtlasBaseClient.initializeState(AtlasBaseClient.java:453)
        at org.apache.atlas.AtlasBaseClient.initializeState(AtlasBaseClient.java:448)
        at org.apache.atlas.AtlasBaseClient.<init>(AtlasBaseClient.java:132)
        at org.apache.atlas.AtlasClientV2.<init>(AtlasClientV2.java:82)
        at org.apache.atlas.hive.bridge.HiveMetaStoreBridge.main(HiveMetaStoreBridge.java:131)
 Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 6 more


第四步:拷貝jar包解決以上錯誤

缺少jar包,導致以上錯誤,需要我們手動拷貝幾個jar包到atlas的hook目錄下即可

 cd /kkb/install/apache-atlas-1.2.0/server/webapp/atlas/WEB-INF/lib
 cp jackson-jaxrs-base-2.9.9.jar jackson-jaxrs-json-provider-2.9.9.jar jackson-module-jaxb-annotations-2.9.9.jar /kkb/install/apache-atlas-1.2.0/hook/hive/atlas-hive-plugin-impl/


第五步:重新導入元數據

重新導入hive元數據信息到atlas當中來

 cd /kkb/install/apache-atlas-1.2.0/
 bin/import-hive.sh
 
 出現以下信息,證明導入成功
 Using Hive configuration directory [/kkb/install/hive-1.1.0-cdh5.14.2/conf]
 Log file for import is /kkb/install/apache-atlas-1.2.0/logs/import-hive.log
 log4j:WARN No such property [maxFileSize] in org.apache.log4j.PatternLayout.
 log4j:WARN No such property [maxBackupIndex] in org.apache.log4j.PatternLayout.
 Enter username for atlas :- admin
 Enter password for atlas :-
 Hive Meta Data imported successfully!!!




第六步:瀏覽器頁面訪問瀏覽元數據信息

直接瀏覽器頁面訪問

http://node03:21000/#!/search/searchResult?type=hive_db&searchType=basic

就可以看到我們的元數據信息了

7、使用azkaban來實現我們的任務調度並查看血緣管理第一步:在node03伺服器上面創建mysql資料庫表
 CREATE DATABASE /*!32312 IF NOT EXISTS*/`game_center2` /*!40100 DEFAULT CHARACTER SET utf8 */;
 
 USE `game_center2`;
 
 /*Table structure for table `res_active_users` */
 
 DROP TABLE IF EXISTS `res_active_users`;
 
 CREATE TABLE `res_active_users` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `plat_id` VARCHAR(16) DEFAULT NULL,
  `channel_id` VARCHAR(16) DEFAULT NULL,
  `event_date` VARCHAR(16) DEFAULT NULL,
  `new_users` VARCHAR(16) DEFAULT NULL,
  `old_users` VARCHAR(16) DEFAULT NULL,
  `all_users` VARCHAR(16) DEFAULT NULL,
  PRIMARY KEY (`id`)
 ) ENGINE=INNODB AUTO_INCREMENT=64 DEFAULT CHARSET=utf8;
 
 /*Table structure for table `res_channel_num` */
 
 DROP TABLE IF EXISTS `res_channel_num`;
 
 CREATE TABLE `res_channel_num` (
  `login_date` VARCHAR(64) DEFAULT NULL,
  `channel_id` VARCHAR(64) DEFAULT NULL,
  `device_num` VARCHAR(64) DEFAULT NULL,
  `reg_user` VARCHAR(64) DEFAULT NULL,
  `active_users` VARCHAR(64) DEFAULT NULL,
  `play_once_users` VARCHAR(64) DEFAULT NULL,
  `pay_users` VARCHAR(64) DEFAULT NULL,
  `pay_user` VARCHAR(64) DEFAULT NULL,
  `pay_money` VARCHAR(64) DEFAULT NULL
 ) ENGINE=INNODB DEFAULT CHARSET=utf8;
 
 /*Table structure for table `res_channel_num_temp` */
 
 DROP TABLE IF EXISTS `res_channel_num_temp`;
 
 CREATE TABLE `res_channel_num_temp` (
  `login_date` VARCHAR(64) DEFAULT NULL,
  `channel_id` VARCHAR(64) DEFAULT NULL,
  `device_num` VARCHAR(64) DEFAULT NULL,
  `reg_user` VARCHAR(64) DEFAULT NULL,
  `active_users` VARCHAR(64) DEFAULT NULL,
  `play_once_users` VARCHAR(64) DEFAULT NULL,
  `pay_users` VARCHAR(64) DEFAULT NULL,
  `pay_user` VARCHAR(64) DEFAULT NULL,
  `pay_money` VARCHAR(64) DEFAULT NULL
 ) ENGINE=INNODB DEFAULT CHARSET=utf8;


第二步:將我們的數據上傳

將我們需要執行的數據上傳到node03伺服器的/kkb/datas/gamecenter 這個路徑下


第三步:使用azkaban執行調度任務

使用azkaban來調度執行我們的任務

第四步:atlas當中查看血緣關係

查看表之間的血緣關係

查看欄位之間的血緣關係

相關焦點

  • 治癒系戒指,蒂芙尼經典款,atlas羅馬數字戒指價格
    蒂芙尼atlas羅馬數字戒指就是這樣神奇的存在,以羅馬數字為設計LOGO,帶有古希臘文明的神秘與復古,在傳統與現代時尚的衝擊中,蒂芙尼一向是辨識度最高的珠寶品牌之一,當然蒂芙尼atlas羅馬數字戒指不負眾望,一經市場推出就徵服了世人的內心。
  • 這個夏天的小清新,蒂芙尼atlas羅馬數字戒指
    像圖中一襲白色蕾絲的女孩,腳踩恨天高,身姿卓越,手指上佩戴的正是蒂芙尼atlas羅馬數字戒指,時尚隨性,熱情似火,就像夏天的顏色,在彰顯個性的舞臺上呈現出不一樣的繽紛色彩。atlas是古希臘的擎天神,是肩扛擎天的大力神。蒂芙尼以atlas為創作主角,演繹出積極向上的時尚格調。蒂芙尼atlas羅馬數字戒指寓意非常好,引導人們在無限的可能中活出自己的希望與能量。
  • 《atlas》遊戲中文怎麼設置 中文設置方法一覽
    導 讀 ATLAS阿特拉斯是一款很好玩的海盜冒險遊戲,很多玩家可能看不懂中文,這裡九遊小編要和大家分享的是atlas遊戲中文設置方法圖文介紹,還不清楚的小夥伴們可以參考一下
  • 基礎英語口語67|Atlas, Map, Globe 地圖冊、地圖、地球儀
    Do you know the difference between an atlas, a map and a globe? 你知道地圖冊、地圖和地球儀之間的區別嗎?2. A map usually is a plan of an area or region or town. 地圖通常是一個地區或城鎮的平面圖。3.
  • 【厚積薄發】AssetBundle中加載SpriteAtlas圖集之後卸載異常
    UnityEngine;using UnityEngine.U2D;using UnityEngine.SceneManagement;public class Test_ResourceUnload : MonoBehaviour{    public AudioClip[] clips;    public SpriteAtlas[] atlas
  • 《atlas》小型船配置火炮如何改造 小型船配置火炮改造攻略
    導 讀 atlas遊戲玩法中的小型船是許多玩家都需要使用的,那麼在小型船上的火力配置該如何搭配呢,怎麼使用合理的資源來進行最大威力的輸出
  • 地方高校《深度報導》課程教學改革與實踐
    摘 要:本研究通過對地方高校的《深度報導》課程教學現狀尤其是問題進行梳理,結合《深度報導》課程的教學實踐,探討了課程改革實踐中依託「案例工作坊」開展情境實訓、給學生提供「夠得著」的目標、以發現問題為起點倡導「小組協作」式探究學習方式、突破學時限制強化課外實踐訓練、以實踐技能為導向開展課程評價等教學手段上的新探索
  • 深度學習,基於Keras的Python實踐
    今天這篇文章目的很簡單,就是給大家送出 3 本《深度學習:基於Keras的Python實踐》。感謝博文視點出版社提供的3本書籍!
  • 【新書推薦】TensorFlow深度學習及實踐
    書中還用4章內容介紹深度神經網絡的原理和應用。TensorFlow是2015年年底開源的一套深度學習框架,也是目前最活躍的深度學習框架之一。《TensorFlow深度學習及實踐》從深度學習的基礎講起,深入TensorFlow的基本框架、原理、原始碼和實現等各個方面,其目的在於降低學習門檻,為讀者解決問題提供詳細的方法和指導。
  • 新書推薦:TensorFlow深度學習及實踐
    自從深度學習在語音識別和圖像識別任務中取得突破性成果後,使用深度學習的應用數量開始呈爆炸式增加。深度學習方法被大量應用在身份識別、無人駕駛、癌症檢測、遊戲AI等方面,甚至在許多領域,深度神經網絡的準確度已經超過人類自身的操作。深度學習的數學原理並不複雜,但它的一些設計思想很巧妙。入門深度學習,在數學方面只要知道如何對函數求導以及知道與矩陣相乘相關的知識即可。
  • 注重實踐活動,走向深度學習
    12月11日下午,漣水縣小學數學「師徒結對」以及「顏春紅特級教師工作室」的老師們一起走進了向陽小學,在縣教師發展中心魯慶林科長和顏春紅主任的帶領下,向陽數學人行走在「結構化教學中的深度學習」探索之路上。
  • 實踐入門NLP:基於深度學習的自然語言處理
    【NLP工程師入門實踐班】——基於深度學習的自然語言處理開車啦!!還不趕緊上車!?【課程概述 】本課程將首先介紹自然語言處理的發展現狀與挑戰,同時,講解深度學習和自然語言處理的結合應用。除了基本算法外,本課程還配備實踐環節,從一些典型的方向:機器翻譯、文本分類、問答等。
  • 大概念整合科學教育 跨學科實踐深度學習
    長沙教育學院首次成功進行了在大概念理念下的整合科學教育內容的跨學科深度學習的培訓活動。來自長沙市市直及各區的近60名初中物理、化學、生物、地理等科學教育學科教師,圓滿完成了2020年長沙市初中大概念科學教育深度學習策略主題研修項目第一階段的集中培訓。
  • 角色扮演《ATLAS》官方中文Steam正版分流下載發布_遊俠網 Ali213...
    遊戲名稱:ATLAS  英文名稱:ATLAS  遊戲類型:角色扮演RPG  遊戲製作:Grapeshot Games, Instinct Games  遊戲發行:Grapeshot Games  遊戲平臺:PC  遊戲語言:英文  發售日期:2018-12-23  遊戲專題:http://www.ali213.net/zt/atlas
  • 第二屆「10+教育測評深度實踐研討活動」舉行
    中國教育報-中國教育新聞網訊(記者 黃蔚)近日,全國第二屆「10+教育測評深度實踐研討活動」在蘇州舉行。本屆研討會由中國教育技術協會教育測量與評價專業委員會與蘇州市教育質量監測中心共同舉辦。中國教育技術協會教育測量與評價專業委員會張生秘書長,來自河南省、甘肅省、福建省、廣東省、江蘇省、湖南省、北京市等全國多地教育測評實踐方面的近20位專家圍繞測評的理論與實踐、測評結果的應用等方面進行了深度交流分享。
  • 「停課不停學」 曠視《深度學習實踐》線上課程免費開放!
    人工智慧企業曠視也在積極響應國家政策,向全社會免費開放《深度學習實踐》全套課程!《深度學習實踐》課程是由曠視研究院聯合北京大學數學科學學院機器學習實驗室共同開設的系列深度學習精品課程之一,已連續開設3年。課程由曠視首席科學家兼研究院院長孫劍,以及身經百戰的研發總監、資深研究員親身授課,內容涵蓋深度學習基礎理論到計算機視覺實踐,真正將高水平深度學習課程帶給大家。
  • 停課不停學|曠視×北大《深度學習實踐》課程全面開放!
    曠視研究院聯合北京大學數學科學學院機器學習實驗室開設的《深度學習實踐》全套課程(視頻+PPT,共計28課時)今日正式全面上線,讓你足不出戶也能享有高水平的教學資源。「與其疫情宅家玩遊戲,不如家裡蹲大學把課上。」
  • 產學深度融合新工科人才培養的探索與實踐
    文章通過導入交易成本理論、角色理論和社會結構理論所構建的分析框架,對廣東工業大學踐行產學深度融合的實踐案例進行研究,對產學深度融合新工科人才培養的路徑進行分析,提出設法降低學生形成創新能力的信息和資源獲取成本,實現教師不同角色的激勵相容,塑造創新創業教育的社會結構以及建立相應的教育生態系統等實現途徑,推進工程人才培養模式改革。
  • 如何實踐AI深度學習的十大驚豔案例
    如何實踐AI深度學習的十大驚豔案例
  • 資料|《 21 個項目玩轉深度學習——基於TensorFlow 的實踐詳解 》
    資料 |《 21 個項目玩轉深度學習——基於TensorFlow 的實踐詳解 》