国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

AllData一站式大數(shù)據(jù)平臺【一】

這篇具有很好參考價值的文章主要介紹了AllData一站式大數(shù)據(jù)平臺【一】。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

?

???? Hey there! I'm AllDataDC.


Developing BigData Platform
Exploring new technologies
Studying Computer Science
Enthusiast in BigData and AI
Full Stack developer and BigData developer
Create a product that is useful to society

聯(lián)系作者:

https://docs.qq.com/doc/DVFZ1RFhGYkJRSGxN

原型 | 官方文檔 | Document | Community

Stargazers over time

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-RsXUstB2-1679966837577)(null)]

AllData一站式大數(shù)據(jù)平臺【一】

AllData一站式大數(shù)據(jù)平臺【一】

社區(qū)版



首頁





數(shù)據(jù)集成





















數(shù)據(jù)質(zhì)量









數(shù)據(jù)標(biāo)準(zhǔn)







元數(shù)據(jù)管理

















數(shù)據(jù)資產(chǎn)









數(shù)據(jù)市場
























BI報表
























流程編排









系統(tǒng)監(jiān)控



















運維管理
























AllData AI Studio 社區(qū)版




AllData Studio 社區(qū)版




數(shù)據(jù)中臺建設(shè)方法論

確定數(shù)據(jù)中臺的目標(biāo)和范圍: 在開始構(gòu)建數(shù)據(jù)中臺之前, 需要明確數(shù)據(jù)中臺的目標(biāo)和范圍, 例如數(shù)據(jù)中臺的主要功能, 應(yīng)用場景, 覆蓋范圍等

收集數(shù)據(jù)源: 根據(jù)定義的目標(biāo)和范圍, 收集相關(guān)的數(shù)據(jù)源這些數(shù)據(jù)源可以包括內(nèi)部和外部的結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù), 實時數(shù)據(jù), 歷史數(shù)據(jù)等

數(shù)據(jù)預(yù)處理: 對收集到的數(shù)據(jù)進行預(yù)處理, 包括數(shù)據(jù)清洗, 歸一化, 去重, 脫敏等操作, 以確保數(shù)據(jù)的準(zhǔn)確性, 一致性和安全性

數(shù)據(jù)建模和集成: 對預(yù)處理的數(shù)據(jù)進行建模和集成, 包括定義數(shù)據(jù)模型, 設(shè)計數(shù)據(jù)流程, 數(shù)據(jù)映射和轉(zhuǎn)換等操作, 以確保數(shù)據(jù)的結(jié)構(gòu)和語義一致性

數(shù)據(jù)存儲和管理: 將集成的數(shù)據(jù)存儲在數(shù)據(jù)倉庫或數(shù)據(jù)湖中, 并實現(xiàn)數(shù)據(jù)的管理, 備份和恢復(fù)

數(shù)據(jù)治理和質(zhì)量管理: 實現(xiàn)數(shù)據(jù)質(zhì)量監(jiān)控, 數(shù)據(jù)血緣追溯, 數(shù)據(jù)安全保障, 合規(guī)性檢查等數(shù)據(jù)治理和質(zhì)量管理功能, 以保證數(shù)據(jù)的高質(zhì)量和可信性

數(shù)據(jù)分析和應(yīng)用: 基于數(shù)據(jù)中臺, 實現(xiàn)數(shù)據(jù)分析和應(yīng)用, 如數(shù)據(jù)挖掘, 數(shù)據(jù)可視化, 機器學(xué)習(xí)等, 以提高數(shù)據(jù)的價值和應(yīng)用效果

持續(xù)優(yōu)化和創(chuàng)新: 數(shù)據(jù)中臺的建設(shè)是一個持續(xù)迭代的過程, 需要不斷進行優(yōu)化和創(chuàng)新, 以適應(yīng)不斷變化的數(shù)據(jù)需求和業(yè)務(wù)場景

需要注意的是, 數(shù)據(jù)中臺建設(shè)需要依賴于先進的技術(shù)和方法, 如云計算, 大數(shù)據(jù), 人工智能, 數(shù)據(jù)湖等

同時, 數(shù)據(jù)中臺建設(shè)還需要依賴于跨部門的協(xié)同和配合, 以確保數(shù)據(jù)的一致性和可用性

功能一覽

  • 平臺基礎(chǔ)設(shè)置
    • 系統(tǒng)管理
      • 崗位管理: 配置系統(tǒng)用戶所屬擔(dān)任職務(wù)
      • 部門管理: 配置系統(tǒng)組織機構(gòu), 樹結(jié)構(gòu)展現(xiàn)支持數(shù)據(jù)權(quán)限
      • 菜單管理: 配置系統(tǒng)菜單, 操作權(quán)限, 按鈕權(quán)限標(biāo)識等
      • 角色管理: 角色菜單權(quán)限分配, 設(shè)置角色按機構(gòu)進行數(shù)據(jù)范圍權(quán)限劃分
      • 用戶管理: 用戶是系統(tǒng)操作者, 該功能主要完成系統(tǒng)用戶配置
      • 參數(shù)管理: 對系統(tǒng)動態(tài)配置常用參數(shù)
      • 字典管理: 對系統(tǒng)中經(jīng)常使用的一些較為固定的數(shù)據(jù)進行維護
    • 系統(tǒng)監(jiān)控
      • 登錄日志: 系統(tǒng)登錄日志記錄查詢
      • 操作日志: 系統(tǒng)正常操作日志記錄和查詢, 系統(tǒng)異常信息日志記錄和查詢
    • 任務(wù)調(diào)度
      • 任務(wù)管理: 在線(添加, 修改, 刪除)任務(wù)調(diào)度
      • 日志管理: 任務(wù)調(diào)度執(zhí)行結(jié)果日志
  • 元數(shù)據(jù)管理
    • 數(shù)據(jù)源: 數(shù)據(jù)源連接信息管理, 可生成數(shù)據(jù)庫文檔
    • 元數(shù)據(jù): 數(shù)據(jù)庫表的元數(shù)據(jù)信息管理
    • 數(shù)據(jù)授權(quán): 設(shè)置元數(shù)據(jù)信息權(quán)限劃分
    • 變更記錄: 元數(shù)據(jù)信息變更記錄信息管理
    • 數(shù)據(jù)檢索: 數(shù)據(jù)源, 數(shù)據(jù)表, 元數(shù)據(jù)等信息查詢
    • 數(shù)據(jù)地圖: 元數(shù)據(jù)的隸屬數(shù)據(jù)表, 數(shù)據(jù)庫的圖形展示
    • SQL工作臺: 在線執(zhí)行查詢sql
  • 數(shù)據(jù)標(biāo)準(zhǔn)管理
    • 標(biāo)準(zhǔn)字典: 國標(biāo)數(shù)據(jù)維護
    • 對照表: 本地數(shù)據(jù)中需要對照標(biāo)準(zhǔn)的數(shù)據(jù)維護
    • 字典對照: 本地數(shù)據(jù)與國標(biāo)數(shù)據(jù)的對照關(guān)系
    • 對照統(tǒng)計: 本地數(shù)據(jù)與國標(biāo)數(shù)據(jù)的對照結(jié)果統(tǒng)計分析
  • 數(shù)據(jù)質(zhì)量管理
    • 規(guī)則配置: 數(shù)據(jù)質(zhì)量規(guī)則配置
    • 問題統(tǒng)計: 數(shù)據(jù)質(zhì)量規(guī)則統(tǒng)計
    • 質(zhì)量報告: 數(shù)據(jù)質(zhì)量結(jié)果統(tǒng)計分析
    • 定時任務(wù): 數(shù)據(jù)質(zhì)量定時任務(wù)
    • 任務(wù)日志: 數(shù)據(jù)質(zhì)量定時任務(wù)日志
  • 主數(shù)據(jù)管理
    • 數(shù)據(jù)模型: 主數(shù)據(jù)數(shù)據(jù)模型維護
    • 數(shù)據(jù)管理: 主數(shù)據(jù)數(shù)據(jù)管理
  • 數(shù)據(jù)集市管理
    • 數(shù)據(jù)服務(wù): 動態(tài)開發(fā)api數(shù)據(jù)服務(wù), 可生成數(shù)據(jù)服務(wù)文檔
    • 數(shù)據(jù)脫敏: api數(shù)據(jù)服務(wù)返回結(jié)果動態(tài)脫敏
    • 接口日志: api數(shù)據(jù)服務(wù)調(diào)用日志
    • 服務(wù)集成: 三方數(shù)據(jù)服務(wù)集成管理
    • 服務(wù)日志: 三方數(shù)據(jù)服務(wù)集成調(diào)用日志
  • 可視化管理
    • 數(shù)據(jù)集: 基于sql的查詢結(jié)果維護
    • 圖表配置: 動態(tài)echarts圖表配置, 支持多維表格, 折線, 柱狀, 餅圖, 雷達, 散點等多種圖表
    • 看板配置: 拖拽式添加圖表組件, 調(diào)整位置, 大小
    • 酷屏配置: 拖拽式添加圖表組件, 調(diào)整背景圖, 顏色, 位置, 大小
  • 流程管理
    • 流程定義: 流程定義管理
    • 流程實例
      • 運行中的流程: 運行中的流程實例管理
      • 我發(fā)起的流程: 我發(fā)起的流程實例管理
      • 我參與的流程: 我參與的流程實例管理
    • 流程任務(wù)
      • 待辦任務(wù): 待辦任務(wù)管理
      • 已辦任務(wù): 已辦任務(wù)管理
    • 業(yè)務(wù)配置: 配置業(yè)務(wù)系統(tǒng)與流程的相關(guān)屬性

項目結(jié)構(gòu)

項目采用按功能分模塊的開發(fā)方式, 結(jié)構(gòu)如下

  • common 為系統(tǒng)的公共模塊, 各種工具類, 公共配置存在該模塊

  • system 為系統(tǒng)核心模塊也是項目入口模塊, 也是最終需要打包部署的模塊

  • logging 為系統(tǒng)的日志模塊, 其他模塊如果需要記錄日志需要引入該模塊

  • tools 為第三方工具模塊, 包含: 圖床, 郵件, 云存儲, 本地存儲, 支付寶

  • generator 為系統(tǒng)的代碼生成模塊, 代碼生成的模板在 system 模塊中

詳細結(jié)構(gòu)

- common 公共模塊
    - annotation 為系統(tǒng)自定義注解
    - aspect 自定義注解的切面
    - base 提供了Entity, DTO基類和mapstruct的通用mapper
    - config 自定義權(quán)限實現(xiàn), redis配置, swagger配置, Rsa配置等
    - exception 項目統(tǒng)一異常的處理
    - utils 系統(tǒng)通用工具類
- system 系統(tǒng)核心模塊(系統(tǒng)啟動入口)
	- config 配置跨域與靜態(tài)資源, 與數(shù)據(jù)權(quán)限
	    - thread 線程池相關(guān)
	- modules 系統(tǒng)相關(guān)模塊(登錄授權(quán), 系統(tǒng)監(jiān)控, 定時任務(wù), 運維管理等)
- logging 系統(tǒng)日志模塊
- tools 系統(tǒng)第三方工具模塊
- generator 系統(tǒng)代碼生成模塊

主要技術(shù)棧

后端技術(shù)棧

  • 開發(fā)框架: Spring Boot 2.3
  • 微服務(wù)框架: Spring Cloud Hoxton.SR9
  • 安全框架: Spring Security + Spring OAuth 2.0
  • 任務(wù)調(diào)度: Quartz
  • 持久層框架: MyBatis Plus
  • 數(shù)據(jù)庫連接池: Hikaricp
  • 服務(wù)注冊與發(fā)現(xiàn): Spring Cloud Config
  • 客戶端負載均衡: Ribbon
  • 熔斷組件: Hystrix
  • 網(wǎng)關(guān)組件: Spring Cloud Gateway
  • 消息隊列: Rabbitmq
  • 緩存: Redis
  • 日志管理: Logback
  • 運行容器: Undertow
  • 工作流: Flowable 6.5.0

前端技術(shù)棧

  • JS框架: Vue, nodejs
  • CSS框架: sass
  • 組件庫: ElementUI
  • 打包構(gòu)建工具: Webpack

部署方式





16gmaster port ip
system-service 8000 16gmaster
data-market-service 8822 16gmaster
service-data-integration 8824 16gmaster
data-metadata-service 8820 16gmaster
data-system-service 8810 16gmaster
service-data-dts 9536 16gmaster
config 8611 16gmaster
16gslave port ip
eureka 8610 16gslave
service-workflow 8814 16gslave
data-metadata-service-console 8821 16gslave
service-data-mapping 8823 16gslave
data-masterdata-service 8828 16gslave
data-quality-service 8826 16gslave
16gdata port ip
data-standard-service 8825 16gdata
data-visual-service 8827 16gdata
email-service 8812 16gdata
file-service 8811 16gdata
quartz-service 8813 16gdata
gateway 9538 16gslave

部署方式

數(shù)據(jù)庫版本為 mysql5.7 及以上版本

1、studio數(shù)據(jù)庫初始化

1.1 source install/16gmaster/studio/studio.sql
1.2 source install/16gmaster/studio/studio-v0.3.6.sql

2、修改 config 配置中心

config 文件夾下的配置文件,修改 redis,mysqlrabbitmq 的配置信息

3、項目根目錄下執(zhí)行

mvn clean install -DskipTests && mvn clean package -DskipTests

獲取安裝包build/studio-release-0.3.x.tar.gz

上傳服務(wù)器解壓

4、部署stuido[后端]

單節(jié)點啟動[All In One]

1、啟動eureka on 16gslave

2、啟動config on 16gmaster

3、啟動gateway on 16gdata

4、啟動其他Jar

三節(jié)點啟動[16gmaster, 16gslave, 16gdata]

  1. 單獨啟動 eureka on 16gslave

  2. 單獨啟動config on 16gmaster

  3. 單獨啟動gateway on 16gdata

  4. 啟動16gslave, sh start16gslave.sh

  5. 啟動16gdata, sh start16gdata.sh

  6. 啟動16gmaster, sh start16gmaster.sh

5、部署studio[前端]:

前端部署

安裝依賴

依次安裝:
nvm install v10.15.3 && nvm use v10.15.3

npm install -g @vue/cli

npm install script-loader

npm install jsonlint

npm install vue2-jsoneditor

npm install

npm run build:prod [生產(chǎn)]

生產(chǎn)環(huán)境啟動前端ui項目,需要[配置nginx]

# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
worker_connections 1024;
}

http {
log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 4096;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;
    server {
		listen       80;
		server_name  16gmaster;	
		add_header Access-Control-Allow-Origin *;
		add_header Access-Control-Allow-Headers X-Requested-With;
		add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
		location / {
			root /studio/ui/dist;
			index index.html;
			try_files $uri $uri/ /index.html;
		}
		location /api/ {
			proxy_pass  http://16gdata:9538/;
			proxy_set_header Host $proxy_host;
			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		}
	}
}

測試環(huán)境啟動前端ui項目

npm run dev [測試]

訪問studio頁面

curl http://localhost:8013

用戶名:admin 密碼:123456

Antlr4 SQL POC









1、Antlr4詞法解析和語法解析 > 包括詞法解析、語法解析、Antlr4的結(jié)果的處理

2、Antlr4執(zhí)行階段

  1. 分為Lexer和Parser,實際上表示了兩個不同的階段:

  2. 詞法分析階段:對應(yīng)于Lexer定義的詞法規(guī)則,解析結(jié)果為一個一個的Token;
    解析階段:根據(jù)詞法,構(gòu)造出來一棵解析樹或者語法樹。

  3. 詞法解析和語法解析的調(diào)和

  4. 首先,語法解析相對于詞法解析,會產(chǎn)生更多的開銷,所以,應(yīng)該盡量將某些可能的處理在詞法解析階段完成,減少語法解析階段的開銷

  5. 合并語言不關(guān)心的標(biāo)記,例如,某些語言(例如js)不區(qū)分int、double,只有 number,那么在詞法解析階段,
    就不需要將int和double區(qū)分開,統(tǒng)一合并為一個number;

  6. 空格、注釋等信息,對于語法解析并無大的幫助,可以在詞法分析階段剔除掉;
    諸如標(biāo)志符、關(guān)鍵字、字符串和數(shù)字這樣的常用記號,均應(yīng)該在詞法解析時完成,而不要到語法解析階段再進行。

  7. 只有 number,沒有 int 和 double 等,但是面向靜態(tài)代碼分析,我們可能需要知道確切的類型來幫助分析特定的缺陷;

  8. 雖然注釋對代碼幫助不大,但是我們有時候也需要解析注釋的內(nèi)容來進行分析,如果無法在語法解析的時候獲取,
    那么就需要遍歷Token,從而導(dǎo)致靜態(tài)代碼分析開銷更大等;

  9. 解析樹vs語法樹

  10. Antlr4生成的樹狀結(jié)構(gòu),稱為解析樹或者是語法樹,如果通過Antlr4解析語言簡單使用,可以直接基于Antlr4的結(jié)果開發(fā),
    但是如果要進行更加深入的處理,就需要對Antlr4的結(jié)果進行更進一步的處理,以更符合我們的使用習(xí)慣

  11. Java Parser格式的Java的AST,Clang格式的C/C++的AST, 然后才能更好地在上面進行開發(fā)。

Presto POC調(diào)研















  1. cd presto && mvn clean install -DskipTests=TRUE
  2. cd presto-server/target/presto-server-0.280-SNAPSHOT/
  3. tar -zxvf presto-server-0.280-SNAPSHOT.tar.gz
  4. cd presto-server-0.280-SNAPSHOT/
  5. client端訪問:presto-cli/target
  6. java -jar presto-cli-0.280-SNAPSHOT-executable.jar --server=localhost:8080 默認端口為8080
  7. 測試SQL:SELECT * FROM system.runtime.nodes;
  8. 網(wǎng)頁訪問:http://localhost:8080

Griffin POC調(diào)研

安裝apache-maven-3.6.3

cd griffin && mvn clean package -DskipTests=TRUE

















Livy訪問查看JOB




Calcite POC調(diào)研







Calcite本地安裝部署

  1. 配置Gradle,在USER_HOME/.gradle/下創(chuàng)建init.gradle文件

  2. init.gradle文件

allprojects{
    repositories {
        def ALIYUN_REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public'
        def ALIYUN_JCENTER_URL = 'http://maven.aliyun.com/nexus/content/repositories/jcenter'
        def GRADLE_LOCAL_RELEASE_URL = 'https://repo.gradle.org/gradle/libs-releases-local'
        def ALIYUN_SPRING_RELEASE_URL = 'https://maven.aliyun.com/repository/spring-plugin'

        all { ArtifactRepository repo ->
            if(repo instanceof MavenArtifactRepository){
                def url = repo.url.toString()
                if (url.startsWith('https://repo1.maven.org/maven2')) {
                    project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL."
                    remove repo
                }
                if (url.startsWith('https://jcenter.bintray.com/')) {
                    project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_JCENTER_URL."
                    remove repo
                }
                if (url.startsWith('http://repo.spring.io/plugins-release')) {
                    project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_SPRING_RELEASE_URL."
                    remove repo
                }

            }
        }
        maven {
		    allowInsecureProtocol = true
            url ALIYUN_REPOSITORY_URL
        }

        maven {
            allowInsecureProtocol = true
            url ALIYUN_JCENTER_URL
        }
        maven {
            allowInsecureProtocol = true
            url ALIYUN_SPRING_RELEASE_URL
        }
        maven {
            allowInsecureProtocol = true
            url GRADLE_LOCAL_RELEASE_URL
        }

    }
}
  1. ./gradlew build 如果跳過測試使用./gradlew build -x test
  2. 構(gòu)建成功獲取構(gòu)建包
  3. In the release/build/distributions
    apache-calcite-1.33.0-SNAPSHOT-src.tar.gz
    apache-calcite-1.33.0-SNAPSHOT-src.tar.gz.sha512
  4. tar -zxvf apache-calcite-1.33.0-SNAPSHOT-src.tar.gz
  5. cd apache-calcite-1.33.0-SNAPSHOT-src
  6. cd example/csv/ && cp -r /mnt/poc/alldatadc/calcite/calcite-1.33.0/build .
  7. 安裝配置gradle7.4.2, cd /opt/gradle
  8. wget https://services.gradle.org/distributions/gradle-7.4.2-all.zip
  9. 解壓 unzip gradle-7.4.2-all.zip
  10. 配置環(huán)境變量:export PATH=$PATH:/opt/gradle/gradle-7.4.2/bin
[root@16gdata apache-calcite-1.33.0-SNAPSHOT-src]# cd example/csv/
[root@16gdata csv]# ll
total 24
drwxr-xr-x 10 root root 4096 Mar  7 18:45 build
-rw-rw-r--  1 root root 3577 Jan  2  1970 build.gradle.kts
-rw-rw-r--  1 root root  876 Jan  2  1970 gradle.properties
-rwxr-xr-x  1 root root 1793 Mar  7 18:44 sqlline
-rw-rw-r--  1 root root 1537 Jan  2  1970 sqlline.bat
drwxrwxr-x  4 root root 4096 Jan  2  1970 src
  1. 運行./sqlline
  2. 進入命令行測試sqlline
[root@16gdata csv]# !connect jdbc:calcite:model=src/test/resources/model.json admin admin
-bash: !connect: event not found
[root@16gdata csv]# ./sqlline
Building Apache Calcite 1.33.0-SNAPSHOT
sqlline version 1.12.0
sqlline> !connect jdbc:calcite:model=src/test/resources/model.json admin admin
Transaction isolation level TRANSACTION_REPEATABLE_READ is not supported. Default (TRANSACTION_NONE) will be used instead.
0: jdbc:calcite:model=src/test/resources/mode> !tables
+-----------+-------------+------------+--------------+---------+----------+------------+-----------+---------------------------+----------------+
| TABLE_CAT | TABLE_SCHEM | TABLE_NAME |  TABLE_TYPE  | REMARKS | TYPE_CAT | TYPE_SCHEM | TYPE_NAME | SELF_REFERENCING_COL_NAME | REF_GENERATION |
+-----------+-------------+------------+--------------+---------+----------+------------+-----------+---------------------------+----------------+
|           | SALES       | DEPTS      | TABLE        |         |          |            |           |                           |                |
|           | SALES       | EMPS       | TABLE        |         |          |            |           |                           |                |
|           | SALES       | SDEPTS     | TABLE        |         |          |            |           |                           |                |
|           | metadata    | COLUMNS    | SYSTEM TABLE |         |          |            |           |                           |                |
|           | metadata    | TABLES     | SYSTEM TABLE |         |          |            |           |                           |                |
+-----------+-------------+------------+--------------+---------+----------+------------+-----------+---------------------------+----------------+
0: jdbc:calcite:model=src/test/resources/mode> select * from SALES.SDEPTS;
+--------+-----------+
| DEPTNO |   NAME    |
+--------+-----------+
| 10     | Sales     |
| 20     | Marketing |
| 30     | Accounts  |
| 40     | 40        |
| 50     | 50        |
| 60     | 60        |
+--------+-----------+
6 rows selected (1.336 seconds)
0: jdbc:calcite:model=src/test/resources/mode>

Doris POC調(diào)研









參考https://doris.apache.org/zh-CN/docs/install/source-install/compilation

  1. docker pull apache/doris:build-env-for-1.1.0
  2. docker run -it -v /root/.m2:/root/.m2 -v /mnt/poc/alldatadc/doris/:/root/doris/ apache/doris:build-env-for-1.1.0
  3. 進入docker
  4. wget https://archive.apache.org/dist/doris/1.1/1.1.0-rc05/apache-doris-1.1.0-src.tar.gz
  5. tar -zxvf apache-doris-1.1.0-src.tar.gz
  6. mv apache-doris-1.1.0-src doris-1.1.0
  7. sh build.sh
  8. web訪問http://16gdata:8080
  9. 參考https://doris.apache.org/zh-CN/docs/get-starting/
  10. 啟動fe ./bin/start_fe.sh --daemon 成功啟動:curl http://127.0.0.1:8030/api/bootstrap
  11. mysql -uroot -P9030 -h127.0.0.1 然后ALTER SYSTEM ADD BACKEND “127.0.0.1:9050”;
  12. cp java-udf-jar-with-dependencies.jar ./be/lib/
  13. 啟動be ./bin/start_be.sh --daemon
  14. 創(chuàng)建demo庫表
use demo;

CREATE TABLE IF NOT EXISTS demo.example_tbl
(
    `user_id` LARGEINT NOT NULL COMMENT "用戶id",
    `date` DATE NOT NULL COMMENT "數(shù)據(jù)灌入日期時間",
    `city` VARCHAR(20) COMMENT "用戶所在城市",
    `age` SMALLINT COMMENT "用戶年齡",
    `sex` TINYINT COMMENT "用戶性別",
    `last_visit_date` DATETIME REPLACE DEFAULT "1970-01-01 00:00:00" COMMENT "用戶最后一次訪問時間",
    `cost` BIGINT SUM DEFAULT "0" COMMENT "用戶總消費",
    `max_dwell_time` INT MAX DEFAULT "0" COMMENT "用戶最大停留時間",
    `min_dwell_time` INT MIN DEFAULT "99999" COMMENT "用戶最小停留時間"
)
AGGREGATE KEY(`user_id`, `date`, `city`, `age`, `sex`)
DISTRIBUTED BY HASH(`user_id`) BUCKETS 1
PROPERTIES (
    "replication_allocation" = "tag.location.default: 1"
);
  1. touch sample.csv
10000,2017-10-01,北京,20,0,2017-10-01 06:00:00,20,10,10
10000,2017-10-01,北京,20,0,2017-10-01 07:00:00,15,2,2
10001,2017-10-01,北京,30,1,2017-10-01 17:05:45,2,22,22
10002,2017-10-02,上海,20,1,2017-10-02 12:59:12,200,5,5
10003,2017-10-02,廣州,32,0,2017-10-02 11:20:00,30,11,11
10004,2017-10-01,深圳,35,0,2017-10-01 10:00:15,100,3,3
10004,2017-10-03,深圳,35,0,2017-10-03 10:20:22,11,6,6
  1. curl --location-trusted -u root: -T sample.csv -H “column_separator:,” http://127.0.0.1:8030/api/demo/example_tbl/_stream_load
  2. 訪問http://127.0.0.1:8030/ 賬密:root/空密碼 輸入sql查詢: select * from demo.example_tbl

本地啟動TIS POC調(diào)研





















  1. 部署TIS-參考tis/README.md

https://tis.pub/docs/develop/compile-running

本地啟動部署Tis

  1. mvn clean install -Dmaven.test.skip=true

  2. 配置數(shù)據(jù)庫

source /tis-ansible/tis_console_mysql.sql

  1. 配置項目web

vi /tis/tis-web-config/config.properties

project.name=TIS
runtime=daily

tis.datasource.type=mysql
tis.datasource.url=16gmaster
tis.datasource.port=3306
tis.datasource.username=root
tis.datasource.password=123456
tis.datasource.dbname=tis_console
zk.host=16gmaster:2181/tis/cloud

assemble.host=8gmaster
tis.host=8gmaster

  1. 啟動TIS

mvn compile test -Dtest=StartTISWeb Dtis.launch.port=8080

訪問 http://8gmaster:8080

  1. 部署plugins,參考plugins/README.md

本地安裝部署 on Linux

  1. 安裝maven3.8.1 配置settings.xml

  2. Only配置

     <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>
    </mirror>

  1. 創(chuàng)建目錄 /opt/data/tis/libs/plugins

  2. 執(zhí)行plugin軟連接配置

for f in `find /mnt/poc/alldatadc/tis_poc/plugins  -name '*.tpi' -print` do echo " ln -s $f " ln -s $f /opt/data/tis/libs/plugins/${f##*/} done ;
  1. 安裝plugins

mvn clean package -Dmaven.test.skip=true -Dappname=all

  1. 部署ng-tis,參考ng-tis/README.md

本地打包部署 on Linux

  1. nvm install v10.15.3

  2. npm install -g @angular/cli@12.2.13

  3. npm run ng:serve-jit --scripts-prepend-node-path=auto

  4. curl http://localhost:4200

DataVines 數(shù)據(jù)質(zhì)量POC調(diào)研











DataHub POC調(diào)研

本地開發(fā)、構(gòu)建、啟動 On Linux



### DataHub源碼構(gòu)建

### 命令行安裝成功



DataHub架構(gòu)



DataHub (& GMA) 架構(gòu)
DatahHub 采用前后端分離 + 微服務(wù) / 容器架構(gòu)
前端:Ember + TypeScript + ES9 + ES.Next + Yarn + ESLint

服務(wù)端:Play Framework(web 框架) + Spring + Rest.li(restful 框架)+ Pegasus(數(shù)據(jù)建模語言) + Apache Samza (流處理框架)

基礎(chǔ)設(shè)施:elastic search (5.6) + Mysql + neo4j + kafka

構(gòu)建工具:Gradlew + Docker + Docker compose

DataHub 組成

datahub-gms (Generalized Metadata Store) : 元數(shù)據(jù)存儲服務(wù)

datahub-gma (Generalized Metadata Architecture) : 通用元數(shù)據(jù)體系結(jié)構(gòu)

GMA 是 datahub 的基礎(chǔ)設(shè)施,提供標(biāo)準(zhǔn)化的元數(shù)據(jù)模型和訪問層

datahub-frontend : 應(yīng)用前端

datahub-mxe 元數(shù)據(jù)事件datahub-mce-consumer (MetadataChangeEvent):元數(shù)據(jù)變更事件,由平臺或爬蟲程序發(fā)起,寫入到 GMS

datahub-mae-consumer (MetadataAuditEvent): 元數(shù)據(jù)審計事件,只有被成功處理的 MCE 才會產(chǎn)生相應(yīng)的 MAE,由 GMS 發(fā)起 ,寫入到 es&Neo4j

1、JAVA_HOME

1.1 安裝Java-11 && 配置JAVA_HOME

sudo yum install java-11-openjdk -y

sudo yum install java-11-openjdk-devel

1.2 安裝Java-8 && 不需要配置JAVA_HOME

yum install java-1.8.0-openjdk.x86_64

yum install -y java-1.8.0-openjdk-devel.x86_64

2、Python3.7以上版本

2.1 下載python3.7

mkdir -p /usr/local/python3 && cd /usr/local/python3

wget https://www.python.org/ftp/python/3.7.16/Python-3.7.16.tar.xz

tar -xvf Python-3.7.16.tar.xz

cd Python-3.7.16

./configure --prefix=/usr/local/python3

make && make install

ln -s /usr/local/python3/bin/python3 /usr/bin/python3

驗證python3.7版本

3、源碼構(gòu)建

3.1 安裝sasl、fastjsonschema

3.1.1 yum -y install cyrus-sasl cyrus-sasl-devel cyrus-sasl-lib

3.1.2 pip3 install fastjsonschema

3.1.3 yum -y install openldap-devel

3.1.4 pip3 install python_ldap

3.1.5 cd cd smoke-test && pip install -r requirements.txt

3.2 安裝命令行

./gradlew :metadata-ingestion:installDev

3.3 后端打包

執(zhí)行./gradlew metadata-service:war:build

3.4 前端打包

修改node版本: 找到datahub-0.10.0/datahub-web-react/build.gradle, 修改version為’16.10.0’

export NODE_OPTIONS=“–max-old-space-size=8192”

執(zhí)行./gradlew :datahub-frontend:dist -x yarnTest -x yarnLint

4 啟動datahub

新增docker-compose.yml

networks:
  default:
    name: datahub_network
services:
  broker:
    container_name: broker
    depends_on:
      - zookeeper
    environment:
      - KAFKA_BROKER_ID=1
      - KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
      - KAFKA_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
      - KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://broker:29092,PLAINTEXT_HOST://localhost:9092
      - KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1
      - KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS=0
      - KAFKA_HEAP_OPTS=-Xms256m -Xmx256m
      - KAFKA_CONFLUENT_SUPPORT_METRICS_ENABLE=false
    hostname: broker
    image: confluentinc/cp-kafka:7.2.2
    ports:
      - ${DATAHUB_MAPPED_KAFKA_BROKER_PORT:-9092}:9092
  datahub-actions:
    depends_on:
      - datahub-gms
    environment:
      - DATAHUB_GMS_HOST=datahub-gms
      - DATAHUB_GMS_PORT=8080
      - DATAHUB_GMS_PROTOCOL=http
      - DATAHUB_SYSTEM_CLIENT_ID=__datahub_system
      - DATAHUB_SYSTEM_CLIENT_SECRET=JohnSnowKnowsNothing
      - KAFKA_BOOTSTRAP_SERVER=broker:29092
      - KAFKA_PROPERTIES_SECURITY_PROTOCOL=PLAINTEXT
      - METADATA_AUDIT_EVENT_NAME=MetadataAuditEvent_v4
      - METADATA_CHANGE_LOG_VERSIONED_TOPIC_NAME=MetadataChangeLog_Versioned_v1
      - SCHEMA_REGISTRY_URL=http://schema-registry:8081
    hostname: actions
    image: acryldata/datahub-actions:${ACTIONS_VERSION:-head}
    restart: on-failure:5
  datahub-frontend-react:
    container_name: datahub-frontend-react
    depends_on:
      - datahub-gms
    environment:
      - DATAHUB_GMS_HOST=datahub-gms
      - DATAHUB_GMS_PORT=8080
      - DATAHUB_SECRET=YouKnowNothing
      - DATAHUB_APP_VERSION=1.0
      - DATAHUB_PLAY_MEM_BUFFER_SIZE=10MB
      - JAVA_OPTS=-Xms512m -Xmx512m -Dhttp.port=9002 -Dconfig.file=datahub-frontend/conf/application.conf -Djava.security.auth.login.config=datahub-frontend/conf/jaas.conf -Dlogback.configurationFile=datahub-frontend/conf/logback.xml -Dlogback.debug=false -Dpidfile.path=/dev/null
      - KAFKA_BOOTSTRAP_SERVER=broker:29092
      - DATAHUB_TRACKING_TOPIC=DataHubUsageEvent_v1
      - ELASTIC_CLIENT_HOST=elasticsearch
      - ELASTIC_CLIENT_PORT=9200
    hostname: datahub-frontend-react
    image: ${DATAHUB_FRONTEND_IMAGE:-linkedin/datahub-frontend-react}:${DATAHUB_VERSION:-head}
    ports:
      - ${DATAHUB_MAPPED_FRONTEND_PORT:-9002}:9002
    volumes:
      - ${HOME}/.datahub/plugins:/etc/datahub/plugins
  datahub-gms:
    container_name: datahub-gms
    depends_on:
      - mysql
    environment:
      - DATAHUB_SERVER_TYPE=${DATAHUB_SERVER_TYPE:-quickstart}
      - DATAHUB_TELEMETRY_ENABLED=${DATAHUB_TELEMETRY_ENABLED:-true}
      - DATAHUB_UPGRADE_HISTORY_KAFKA_CONSUMER_GROUP_ID=generic-duhe-consumer-job-client-gms
      - EBEAN_DATASOURCE_DRIVER=com.mysql.jdbc.Driver
      - EBEAN_DATASOURCE_HOST=mysql:3306
      - EBEAN_DATASOURCE_PASSWORD=datahub
      - EBEAN_DATASOURCE_URL=jdbc:mysql://mysql:3306/datahub?verifyServerCertificate=false&useSSL=false&useUnicode=yes&characterEncoding=UTF-8
      - EBEAN_DATASOURCE_USERNAME=datahub
      - ELASTICSEARCH_HOST=elasticsearch
      - ELASTICSEARCH_INDEX_BUILDER_MAPPINGS_REINDEX=true
      - ELASTICSEARCH_INDEX_BUILDER_SETTINGS_REINDEX=true
      - ELASTICSEARCH_PORT=9200
      - ENTITY_REGISTRY_CONFIG_PATH=/datahub/datahub-gms/resources/entity-registry.yml
      - ENTITY_SERVICE_ENABLE_RETENTION=true
      - ES_BULK_REFRESH_POLICY=WAIT_UNTIL
      - GRAPH_SERVICE_DIFF_MODE_ENABLED=true
      - GRAPH_SERVICE_IMPL=elasticsearch
      - JAVA_OPTS=-Xms1g -Xmx1g
      - KAFKA_BOOTSTRAP_SERVER=broker:29092
      - KAFKA_SCHEMAREGISTRY_URL=http://schema-registry:8081
      - MAE_CONSUMER_ENABLED=true
      - MCE_CONSUMER_ENABLED=true
      - PE_CONSUMER_ENABLED=true
      - UI_INGESTION_ENABLED=true
    hostname: datahub-gms
    image: ${DATAHUB_GMS_IMAGE:-linkedin/datahub-gms}:${DATAHUB_VERSION:-head}
    ports:
      - ${DATAHUB_MAPPED_GMS_PORT:-8080}:8080
    volumes:
      - ${HOME}/.datahub/plugins:/etc/datahub/plugins
  datahub-upgrade:
    command:
      - -u
      - SystemUpdate
    container_name: datahub-upgrade
    environment:
      - EBEAN_DATASOURCE_USERNAME=datahub
      - EBEAN_DATASOURCE_PASSWORD=datahub
      - EBEAN_DATASOURCE_HOST=mysql:3306
      - EBEAN_DATASOURCE_URL=jdbc:mysql://mysql:3306/datahub?verifyServerCertificate=false&useSSL=false&useUnicode=yes&characterEncoding=UTF-8
      - EBEAN_DATASOURCE_DRIVER=com.mysql.jdbc.Driver
      - KAFKA_BOOTSTRAP_SERVER=broker:29092
      - KAFKA_SCHEMAREGISTRY_URL=http://schema-registry:8081
      - ELASTICSEARCH_HOST=elasticsearch
      - ELASTICSEARCH_PORT=9200
      - ELASTICSEARCH_INDEX_BUILDER_MAPPINGS_REINDEX=true
      - ELASTICSEARCH_INDEX_BUILDER_SETTINGS_REINDEX=true
      - ELASTICSEARCH_BUILD_INDICES_CLONE_INDICES=false
      - GRAPH_SERVICE_IMPL=elasticsearch
      - DATAHUB_GMS_HOST=datahub-gms
      - DATAHUB_GMS_PORT=8080
      - ENTITY_REGISTRY_CONFIG_PATH=/datahub/datahub-gms/resources/entity-registry.yml
    hostname: datahub-upgrade
    image: ${DATAHUB_UPGRADE_IMAGE:-acryldata/datahub-upgrade}:${DATAHUB_VERSION:-head}
  elasticsearch:
    container_name: elasticsearch
    environment:
      - discovery.type=single-node
      - xpack.security.enabled=false
      - ES_JAVA_OPTS=-Xms256m -Xmx512m -Dlog4j2.formatMsgNoLookups=true
    healthcheck:
      retries: 4
      start_period: 2m
      test:
        - CMD-SHELL
        - curl -sS --fail 'http://localhost:9200/_cluster/health?wait_for_status=yellow&timeout=0s' || exit 1
    hostname: elasticsearch
    image: elasticsearch:7.10.1
    mem_limit: 1g
    ports:
      - ${DATAHUB_MAPPED_ELASTIC_PORT:-9200}:9200
    volumes:
      - esdata:/usr/share/elasticsearch/data
  elasticsearch-setup:
    container_name: elasticsearch-setup
    depends_on:
      - elasticsearch
    environment:
      - ELASTICSEARCH_HOST=elasticsearch
      - ELASTICSEARCH_PORT=9200
      - ELASTICSEARCH_PROTOCOL=http
    hostname: elasticsearch-setup
    image: ${DATAHUB_ELASTIC_SETUP_IMAGE:-linkedin/datahub-elasticsearch-setup}:${DATAHUB_VERSION:-head}
  kafka-setup:
    container_name: kafka-setup
    depends_on:
      - broker
      - schema-registry
    environment:
      - DATAHUB_PRECREATE_TOPICS=${DATAHUB_PRECREATE_TOPICS:-false}
      - KAFKA_BOOTSTRAP_SERVER=broker:29092
      - KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
    hostname: kafka-setup
    image: ${DATAHUB_KAFKA_SETUP_IMAGE:-linkedin/datahub-kafka-setup}:${DATAHUB_VERSION:-head}
  mysql:
    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_bin --default-authentication-plugin=mysql_native_password
    container_name: mysql
    environment:
      - MYSQL_DATABASE=datahub
      - MYSQL_USER=datahub
      - MYSQL_PASSWORD=datahub
      - MYSQL_ROOT_PASSWORD=datahub
    hostname: mysql
    image: mysql:5.7
    ports:
      - ${DATAHUB_MAPPED_MYSQL_PORT:-33061}:3306
    volumes:
      - ../mysql/init.sql:/docker-entrypoint-initdb.d/init.sql
      - mysqldata:/var/lib/mysql
  mysql-setup:
    container_name: mysql-setup
    depends_on:
      - mysql
    environment:
      - MYSQL_HOST=mysql
      - MYSQL_PORT=3306
      - MYSQL_USERNAME=datahub
      - MYSQL_PASSWORD=datahub
      - DATAHUB_DB_NAME=datahub
    hostname: mysql-setup
    image: ${DATAHUB_MYSQL_SETUP_IMAGE:-acryldata/datahub-mysql-setup}:${DATAHUB_VERSION:-head}
  schema-registry:
    container_name: schema-registry
    depends_on:
      - broker
    environment:
      - SCHEMA_REGISTRY_HOST_NAME=schemaregistry
      - SCHEMA_REGISTRY_KAFKASTORE_SECURITY_PROTOCOL=PLAINTEXT
      - SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS=broker:29092
    hostname: schema-registry
    image: confluentinc/cp-schema-registry:7.2.2
    ports:
      - ${DATAHUB_MAPPED_SCHEMA_REGISTRY_PORT:-8081}:8081
  zookeeper:
    container_name: zookeeper
    environment:
      - ZOOKEEPER_CLIENT_PORT=2181
      - ZOOKEEPER_TICK_TIME=2000
    hostname: zookeeper
    image: confluentinc/cp-zookeeper:7.2.2
    ports:
      - ${DATAHUB_MAPPED_ZK_PORT:-2181}:2181
    volumes:
      - zkdata:/var/lib/zookeeper
version: "2.3"
volumes:
  esdata: null
  mysqldata: null
  zkdata: null

python3 -m datahub docker quickstart --start -f docker-compose.yml

5 停止datahub

python3 -m datahub docker quickstart --stop -f docker-compose.yml

dinky新增hive2flink任務(wù)類型

1, 支持執(zhí)行提交hive sql running on flink

2, 測試代碼

@Test
void testCreateDatabase() {
    sql("create database db1").ok("CREATE DATABASE `DB1`");
    sql("create database db1 comment 'comment db1' location '/path/to/db1'")
            .ok(
                    "CREATE DATABASE `DB1`\n"
                            + "COMMENT 'comment db1'\n"
                            + "LOCATION '/path/to/db1'");
    sql("create database db1 with dbproperties ('k1'='v1','k2'='v2')")
            .ok(
                    "CREATE DATABASE `DB1` WITH DBPROPERTIES (\n"
                            + "  'k1' = 'v1',\n"
                            + "  'k2' = 'v2'\n"
                            + ")");
}

3, 結(jié)果預(yù)覽

測試FlinkHiveSqlParser Passed



Flink數(shù)據(jù)血緣初體驗

1 結(jié)果預(yù)覽



2 創(chuàng)建FlinkDDL

參考Resource/FlinkDDLSQL.sql

CREATE TABLE data_gen (

amount BIGINT

) WITH (

‘connector’ = ‘datagen’

‘rows-per-second’ = ‘1’

‘number-of-rows’ = ‘3’

‘fields.amount.kind’ = ‘random’

‘fields.amount.min’ = ‘10’

‘fields.amount.max’ = ‘11’);

CREATE TABLE mysql_sink (

amount BIGINT

PRIMARY KEY (amount) NOT ENFORCED

) WITH (

‘connector’ = ‘jdbc’

‘url’ = ‘jdbc:mysql://localhost:3306/test_db’

‘table-name’ = ‘test_table’

‘username’ = ‘root’

‘password’ = ‘123456’

‘lookup.cache.max-rows’ = ‘5000’

‘lookup.cache.ttl’ = ‘10min’

);

INSERT INTO mysql_sink SELECT amount as amount FROM data_gen;

3 執(zhí)行com.platform.FlinkLineageBuild

獲取結(jié)果

1, Flink血緣構(gòu)建結(jié)果-表:

[LineageTable{id=‘4’, name=‘data_gen’, columns=[LineageColumn{name=‘a(chǎn)mount’, title=‘a(chǎn)mount’}]}

LineageTable{id=‘6’, name=‘mysql_sink’, columns=[LineageColumn{name=‘a(chǎn)mount’, title=‘a(chǎn)mount’}]}]

表ID: 4

表Namedata_gen

表ID: 4

表Namedata_gen

表-列LineageColumn{name=‘a(chǎn)mount’, title=‘a(chǎn)mount’}

表ID: 6

表Namemysql_sink

表ID: 6

表Namemysql_sink

表-列LineageColumn{name=‘a(chǎn)mount’, title=‘a(chǎn)mount’}

2, Flink血緣構(gòu)建結(jié)果-邊:

[LineageRelation{id=‘1’, srcTableId=‘4’, tgtTableId=‘6’, srcTableColName=‘a(chǎn)mount’, tgtTableColName=‘a(chǎn)mount’}]

表-邊: LineageRelation{id=‘1’, srcTableId=‘4’, tgtTableId=‘6’, srcTableColName=‘a(chǎn)mount’, tgtTableColName=‘a(chǎn)mount’}

AllData Doris



AllData全新定制一站式場景化大數(shù)據(jù)中臺



大數(shù)據(jù)組件管理DOCKER FOR DATA PLATFORM

1, 配置主機服務(wù)HOST



2, 啟動大數(shù)據(jù)集群



3, YARN正常訪問



4, HIVE正常使用



5, HDFS正常訪問



6, ES健康檢測



7, KIBANA UI訪問



8, PRESTO UI訪問



9, HBASE正常訪問



10, FLIKN RUNTIME WEB 正常訪問



使用Docker/K8S云原生方案-控制各種組件起停

1, BUSINESS FOR ALL DATA PLATFORM 商業(yè)項目

2, BUSINESS FOR ALL DATA PLATFORM 計算引擎

3, DEVOPS FOR ALL DATA PLATFORM 運維引擎

4, DATA GOVERN FOR ALL DATA PLATFORM 數(shù)據(jù)治理引擎

5, DATA Integrate FOR ALL DATA PLATFORM 數(shù)據(jù)集成引擎

6, AI FOR ALL DATA PLATFORM 人工智能引擎

7, DATA ODS FOR ALL DATA PLATFORM 數(shù)據(jù)采集引擎

8, OLAP FOR ALL DATA PLATFORM OLAP查詢引擎

9, OPTIMIZE FOR ALL DATA PLATFORM 性能優(yōu)化引擎

10, DATABASES FOR ALL DATA PLATFORM 分布式存儲引擎

DataSophon POC



一, 項目地址

https://github.com/datasophon/datasophon




二, 官方文檔

https://datasophon.github.io/datasophon-website/docs/current/%E6%A6%82%E8%A7%88



三, DataSophon+安裝包

提供了一系列包, 可以集成自定義服務(wù)

DataSophon+tar.gz安裝包, 直接替換Ambari+HDP, 解決大數(shù)據(jù)集群納管組件的生命周期問題



四, 架構(gòu)流程圖



五, 組件自定義服務(wù)配置

https://datasophon.github.io/datasophon-website/docs/current/%E5%BC%80%E5%8F%91%E8%80%85%E6%8C%87%E5%8D%97/%E7%BB%84%E4%BB%B6%E9%9B%86%E6%88%90/commit_code

六, 三件套做監(jiān)控



七, 未來規(guī)劃



當(dāng)前版本v1.1.0

支持系統(tǒng)租戶管理

主機管理支持機架管理

YARN資源調(diào)度支持容量調(diào)度器

YARN資源調(diào)度支持標(biāo)簽調(diào)度

支持組件集成Kerberos, 可自由開啟和關(guān)閉kerberos認證集成

八, 局限

版本與代碼沒有分離, 安裝版本的hadoop-3.3.3



九, 下載, 安裝, 解壓

絲滑切換Ambari Python install, status, start, stop



十, 生態(tài)集成

Dinky, Streampark, Doris等



十一, 啟動邏輯

啟動DS直接就執(zhí)行對應(yīng)的program



十二, 自定義屬性

自定義模板+freemaker, 應(yīng)用自定義屬性



十三, Actor監(jiān)聽消息通信

Worker啟動并監(jiān)聽Actor失敗告警



Flink Table Store && Lake Storage POC

2.1 SQL~Flink table store poc

set execution.checkpointing.interval=15sec;

CREATE CATALOG alldata_catalog WITH (

‘type’=‘table-store’

‘warehouse’=‘file:/tmp/table_store’

);

USE CATALOG alldata_catalog;

CREATE TABLE word_count (

word STRING PRIMARY KEY NOT ENFORCED

cnt BIGINT

);

CREATE TEMPORARY TABLE word_table (

word STRING

) WITH (

'connector' = 'datagen'

'fields.word.length' = '1'

);

INSERT INTO word_count SELECT word, COUNT(*) FROM word_table GROUP BY word;

– POC Test OLAP QUERY

SET sql-client.execution.result-mode = ‘tableau’;

RESET execution.checkpointing.interval;

SET execution.runtime-mode = ‘batch’;

SELECT * FROM word_count;

– POC Test Stream QUERY

– SET execution.runtime-mode = ‘streaming’;

– SELECT interval, COUNT(*) AS interval_cnt FROM

– (SELECT cnt / 10000 AS interval FROM word_count) GROUP BY interval;

2.2 Flink Runtime Web



2.3 Flink Batch



2.4 Flink Olap Read



2.5 Flink Stream Read



Dlink二開新增Flink1.16.0支持

1, Dlink配置Flink Table Store相關(guān)依賴



### 2, Dlink啟動并運行成功

### 3, OLAP查詢

4, Flink1.16.0 Dlink流式讀

4.1 Stream Read 1





4.2 Stream Read 2




Architecture




Component Description Important Composition
ai AI STUDIO FOR ALL DATA PLATFORM artificial intelligence engine 人工智能引擎
assembly WHOLE PACKAGE BUILD FOR ALL DATA PLATFORM assembly engine 整包構(gòu)建引擎
cluster DATA SRE FOR ALL DATA PLATFORM OLAP query engine 智能大數(shù)據(jù)運維引擎
crawlab CRAWLER PLATFORM FOR ALL DATA PLATFORM commerce engine 爬蟲引擎系統(tǒng)
document DOCUMENT FOR ALL DATA PLATFORM OLAP query engine 官方文檔
dts DTS FOR ALL DATA PLATFORM DATA DTS engine 數(shù)據(jù)集成引擎
factory FACTORY FOR ALL DATA PLATFORM DATA DTS engine 數(shù)據(jù)工廠引擎
fs DATA STORAGE FOR ALL DATA PLATFORM DATA STORAGE engine 大數(shù)據(jù)存儲引擎
govern DATA GOVERN FOR ALL DATA PLATFORM Data Governance Engine 數(shù)據(jù)治理引擎
iot IOT FOR ALL DATA PLATFORM Data Governance Engine 云原生IOT開發(fā)框架
k8s Koordinator FOR ALL DATA PLATFORM Data Task Engine 知識圖譜引擎
kg KNOWLEDGE GRAPH FOR ALL DATA PLATFORM Data Task Engine 知識圖譜引擎
lake LAKEHOUSE FOR ALL DATA PLATFORM ONE LAKE engine 數(shù)據(jù)湖引擎
market MARKET FOR ALL DATA PLATFORM MARKET engine 數(shù)據(jù)實驗場引擎
olap OLAP FOR ALL DATA PLATFORM OLAP query engine 混合OLAP查詢引擎
trade TRADE FOR ALL DATA PLATFORM TRADE Engine TRADE引擎
wiki WIKI FOR ALL DATA PLATFORM WIKI Engine AllData知識庫
alldata AllData社區(qū)項目通過二開大數(shù)據(jù)生態(tài)組件, 以及大數(shù)據(jù)采集, 大數(shù)據(jù)存儲, 大數(shù)據(jù)計算, 大數(shù)據(jù)開發(fā)來建設(shè)一站式細分領(lǐng)域數(shù)字化解決方案 Github一站式細分領(lǐng)域AllData數(shù)字化解決方案社區(qū)項目

AllData社區(qū)商業(yè)計劃圖


AllData社區(qū)項目業(yè)務(wù)流程圖


AllData社區(qū)項目樹狀圖


全站式AllData產(chǎn)品路線圖



AllData社區(qū)項目時間旅行


實時推薦系統(tǒng)業(yè)務(wù)流程圖


AllData總部前后端解決方案

包括AllData前后端解決方案, 多租戶運維平臺前后端

基于eladmin + tenant 建設(shè)AllData前后端解決方案

1, AllData前端解決方案 studio/eladmin-web

2, AllData后端解決方案 studio/eladmin

3, 多租戶運維平臺前端 studio/tenant

4, 多租戶運維平臺前端 studio/tenantBack

Integration

離線商城數(shù)倉展示



知識圖譜建設(shè)方法論



## 知識圖譜(Knowledge Graph)

知識圖譜建設(shè)方法論:

一, 知識圖譜技術(shù)架構(gòu): 確定知識的表示方式和知識的存儲方式,

二, 知識圖譜建設(shè)方法論: 知識圖譜建設(shè)可以分為知識建模, 知識抽取, 知識驗證這樣幾個階段, 形成一個知識圖譜

從知識抽取的內(nèi)容上, 又可以分為實體抽取, 屬性抽取, 關(guān)系抽取, 事件抽取:

實體抽取指從數(shù)據(jù)源中檢測到可命名的實體, 并將它們分類到已建模的類型中, 例如人, 組織, 地點, 時間等等,

屬性抽取是識別出命名實體的具體屬性,

關(guān)系抽取是識別出實體與實體之間的關(guān)系, 例如從句子“著名歌手周杰倫的妻子昆凌”中識別出“周杰倫”與“昆凌”之間的夫妻關(guān)系,

事件抽取是識別出命名實體相關(guān)的事件信息, 例如“周杰倫”與“昆凌”結(jié)婚就是一個事件

可以看出實體抽取, 屬性抽取, 關(guān)系抽取是抽取我們在知識建模中定義的拓撲結(jié)構(gòu)部分數(shù)據(jù)

事件抽取是事件建模相關(guān)數(shù)據(jù)的抽取, 所以在領(lǐng)域知識圖譜建設(shè)中, 也需要包括數(shù)據(jù)準(zhǔn)備域的抽取方式, 處置域的數(shù)據(jù)抽取方式

知 識 驗 證

從各種不同數(shù)據(jù)源抽取的知識, 并不一定是有效的知識, 必須進行知識的驗證, 將有效的, 正確的知識進入知識庫造成知識不準(zhǔn)確的原因

通常是原始數(shù)據(jù)存在錯誤, 術(shù)語存在二義性, 知識沖突等等, 例如前面提到的"1#"壓水堆, "1號"壓水堆, “一號”壓水堆這三個詞對應(yīng)一個實體

如果在抽取中沒有合理定義規(guī)則, 這就需要在知識驗證階段得到處理, 以便形成閉環(huán)

三, 基于知識圖譜建設(shè)應(yīng)用: 每一類應(yīng)用的側(cè)重點不同, 使用技術(shù)和達到的效果也不同, 我們總結(jié)為知識推理類, 知識呈現(xiàn)類, 知識問答類, 知識共享類

1, 知識圖譜建設(shè)

1.1 人工數(shù)據(jù)標(biāo)注工具: https://github.com/doccano/doccano

1.2 自動標(biāo)注+知識抽取: https://github.com/zjunlp/DeepKE

2, 知識存儲: https://github.com/alibaba/GraphScope

3, 知識圖譜應(yīng)用: https://github.com/lemonhu/stock-knowledge-graph

從0到1建設(shè)大數(shù)據(jù)解決方案

從0到1建設(shè)大數(shù)據(jù)解決方案是一個相對比較宏觀的過程, 需要考慮從業(yè)務(wù)需求分析, 數(shù)據(jù)采集, 數(shù)據(jù)處理, 數(shù)據(jù)存儲, 數(shù)據(jù)查詢分析到數(shù)據(jù)可視化展示等多個環(huán)節(jié),

以下是一個簡單的大數(shù)據(jù)解決方案建設(shè)方法論:

需求分析: 首先需要明確業(yè)務(wù)需求, 包括數(shù)據(jù)源, 數(shù)據(jù)量, 數(shù)據(jù)類型, 數(shù)據(jù)質(zhì)量等等, 可以與業(yè)務(wù)人員進行溝通, 制定出明確的需求和目標(biāo), 確定解決方案的規(guī)模和數(shù)據(jù)的范圍

數(shù)據(jù)采集: 根據(jù)需求分析結(jié)果, 確定數(shù)據(jù)來源和采集方式, 可以使用采集工具或者開發(fā)自定義采集程序, 采集的數(shù)據(jù)需要進行清洗和過濾, 確保數(shù)據(jù)的準(zhǔn)確性和完整性

數(shù)據(jù)處理: 數(shù)據(jù)采集后需要進行清洗, 整合, 加工等處理, 以便后續(xù)的存儲和分析, 數(shù)據(jù)處理可以使用數(shù)據(jù)流處理或者批處理等方式

數(shù)據(jù)存儲: 對于大數(shù)據(jù)解決方案, 數(shù)據(jù)存儲是一個非常重要的環(huán)節(jié), 需要選擇合適的存儲方案, 包括分布式存儲, 列式存儲, 內(nèi)存數(shù)據(jù)庫等, 可以根據(jù)數(shù)據(jù)量和查詢分析方式等要素進行選擇

數(shù)據(jù)查詢分析: 建立數(shù)據(jù)查詢和分析體系, 需要考慮數(shù)據(jù)查詢和分析的靈活性和效率, 可以使用數(shù)據(jù)查詢引擎和分析工具, 如Hadoop, Spark, Hive, Presto, Superset等

數(shù)據(jù)可視化展示: 通過數(shù)據(jù)可視化展示方式, 使數(shù)據(jù)分析結(jié)果直觀, 易于理解, 可以使用開源的可視化工具, 如Tableau, Power BI, Echarts等

安全與隱私: 對于大數(shù)據(jù)解決方案, 安全和隱私是非常重要的, 需要采取一系列的安全措施, 包括數(shù)據(jù)加密, 訪問控制, 數(shù)據(jù)備份等, 以保障數(shù)據(jù)的安全性和隱私性

評估和優(yōu)化: 在建設(shè)過程中需要不斷評估和優(yōu)化解決方案, 調(diào)整方案架構(gòu)和技術(shù)選型, 以提高解決方案的性能和效率, 滿足業(yè)務(wù)需求和用戶期望

以上是一個簡單的從0到1建設(shè)大數(shù)據(jù)解決方案的方法論, 需要根據(jù)實際情況進行具體的調(diào)整和優(yōu)化

數(shù)字化轉(zhuǎn)型

數(shù)字化轉(zhuǎn)型是指將傳統(tǒng)企業(yè)在信息化, 網(wǎng)絡(luò)化, 智能化, 數(shù)據(jù)化等技術(shù)的支撐下, 對業(yè)務(wù), 組織, 文化, 價值創(chuàng)造, 利益分配等方面進行全面的革新和升級,

以適應(yīng)市場, 技術(shù), 用戶等環(huán)境的變化數(shù)字化轉(zhuǎn)型的目標(biāo)是實現(xiàn)企業(yè)從傳統(tǒng)生產(chǎn)經(jīng)營方式向數(shù)字化經(jīng)營模式的轉(zhuǎn)變, 提高企業(yè)的效率, 創(chuàng)新能力, 市場競爭力和盈利能力

數(shù)字化轉(zhuǎn)型方法論可以概括為以下幾個方面:

確定數(shù)字化轉(zhuǎn)型的戰(zhàn)略目標(biāo)和方向, 明確數(shù)字化轉(zhuǎn)型的意義和價值, 為數(shù)字化轉(zhuǎn)型的實施提供方向和支撐

分析業(yè)務(wù)過程, 識別業(yè)務(wù)痛點和機會, 確定數(shù)字化轉(zhuǎn)型的重點領(lǐng)域和項目, 以提高效率, 創(chuàng)新能力和用戶體驗為導(dǎo)向

優(yōu)化組織結(jié)構(gòu)和流程, 建立數(shù)字化組織架構(gòu)和工作流程, 激發(fā)組織創(chuàng)新和員工動力, 提高業(yè)務(wù)效率和創(chuàng)新能力

采用先進的信息技術(shù)和數(shù)據(jù)技術(shù), 例如云計算, 大數(shù)據(jù), 人工智能, 物聯(lián)網(wǎng)等, 為數(shù)字化轉(zhuǎn)型提供技術(shù)支持

建立數(shù)字化文化, 通過數(shù)字化營銷, 數(shù)字化服務(wù), 數(shù)字化協(xié)同等方式, 提升品牌價值, 用戶滿意度和市場影響力

實施數(shù)字化監(jiān)管, 建立數(shù)字化安全, 合規(guī)和風(fēng)險控制體系, 確保數(shù)字化轉(zhuǎn)型的合法性, 合規(guī)性和可持續(xù)性

數(shù)字化轉(zhuǎn)型是一個復(fù)雜的過程, 需要綜合運用戰(zhàn)略, 組織, 技術(shù), 文化, 監(jiān)管等多方面的手段和方法, 才能取得成功

Community

聯(lián)系作者: https://docs.qq.com/doc/DVFZ1RFhGYkJRSGxN文章來源地址http://www.zghlxwxcb.cn/news/detail-431202.html

到了這里,關(guān)于AllData一站式大數(shù)據(jù)平臺【一】的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 金融監(jiān)管平臺系統(tǒng)-一站式監(jiān)管服務(wù)體系、強大數(shù)據(jù)監(jiān)管模型

    一、金融監(jiān)管平臺系統(tǒng)簡介 金融監(jiān)管平臺是為協(xié)助金融辦加強日常監(jiān)管效率,解決監(jiān)管存在的問題,幫助金融辦進一步加強對小額貸款公司的日常監(jiān)管,及時掌握涉及小額貸款公司的業(yè)務(wù)監(jiān)管信息,有效防范金融風(fēng)險而設(shè)計的一套系統(tǒng)。監(jiān)管平臺的建立除了為金融辦等主管部

    2024年02月09日
    瀏覽(19)
  • datahub元數(shù)據(jù)管理平臺從安裝到使用一站式指南(未完)

    datahub元數(shù)據(jù)管理平臺從安裝到使用一站式指南(未完)

    目錄 一 datahub安裝 1.1 datahub在線安裝 1.1.1 docker在線安裝 1.1.2 python在線安裝 1.1.3 datahub在線安裝并啟動 1.2 datahub離線安裝 1.2.1 docker離線安裝 1.2.2 python離線安裝 1.2.3 datahub離線安裝并啟動 1.3 本地環(huán)境替換datahub docker 1.3 安裝過程中可能遇到的問題 1.3.1 python3安裝后導(dǎo)致yum不能正常

    2024年02月06日
    瀏覽(59)
  • 奧威BI-金蝶云星空SaaS版一站式平臺:對接數(shù)據(jù)、做分析

    奧威BI-金蝶云星空SaaS版一站式平臺:對接數(shù)據(jù)、做分析

    金蝶云星空和BI大數(shù)據(jù)分析平臺都在企業(yè)數(shù)字化轉(zhuǎn)型中扮演了重要的角色,為企業(yè)提供了全面的數(shù)字化解決方案和數(shù)據(jù)分析功能,兩者強強聯(lián)合不僅能提高部署效率,更能增強數(shù)據(jù)分析、數(shù)據(jù)可視化效果,幫助企業(yè)更好地適應(yīng)市場變化和用戶需求,提高企業(yè)的競爭力和效率。

    2024年02月16日
    瀏覽(21)
  • 日均調(diào)度 10W+ 任務(wù)實例,DolphinScheduler 在蔚來汽車一站式數(shù)據(jù)治理開發(fā)平臺的應(yīng)用改造

    日均調(diào)度 10W+ 任務(wù)實例,DolphinScheduler 在蔚來汽車一站式數(shù)據(jù)治理開發(fā)平臺的應(yīng)用改造

    大家好我是張金明,在蔚來汽車擔(dān)任大數(shù)據(jù)平臺研發(fā)工程師。這次和大家分享的是 Apache DolphinScheduler 在蔚來汽車一站式數(shù)據(jù)治理開發(fā)平臺的應(yīng)用和改造,接下來我將從背景、應(yīng)用現(xiàn)狀和技術(shù)改造三個方面去分享一下。 在蔚來汽車構(gòu)建一個統(tǒng)一的數(shù)據(jù)中臺之前,我們面臨這樣

    2024年02月11日
    瀏覽(18)
  • 一站式自動化測試平臺-Autotestplat

    一站式自動化測試平臺-Autotestplat

    3.1 自動化平臺開發(fā)方案 3.1.1 功能需求 3.1.3 開發(fā)時間計劃 如果是剛?cè)腴T、但有一點代碼基礎(chǔ)的測試人員,大概 3 個月能做出演示版(Demo)進行自動化測試,6 個月內(nèi)勝任開展工作中項目的自動化測試。 如果是有自動化測試基礎(chǔ)的測試人員,大概 1 個月能做出演示版(Demo)進行自動

    2024年02月13日
    瀏覽(36)
  • 一站式低代碼開發(fā)平臺iVX初探

    一站式低代碼開發(fā)平臺iVX初探

    ? ? ? ?在數(shù)字化時代的浪潮中,低代碼已經(jīng)逐漸成為一種趨勢和潮流。作為國內(nèi)首個圖形化通用無代碼編程平臺,iVX提供了一款強大、高效、易學(xué)的零代碼開發(fā)語言和全生命周期一站式云原生應(yīng)用開發(fā)工具,無疑為低代碼界帶來了一場革命。 ? ? ? ?低代碼(Low-Code)是一種

    2024年02月10日
    瀏覽(24)
  • 一站式敏捷研發(fā)協(xié)同平臺,敏捷研發(fā)解決方案

    一站式敏捷研發(fā)協(xié)同平臺,敏捷研發(fā)解決方案

    ?Leangoo領(lǐng)歌是一款 永久免費的專業(yè)的敏捷開發(fā)管理工具 ,提供端到端敏捷研發(fā)管理解決方案,涵蓋敏捷需求管理、任務(wù)協(xié)同、進展跟蹤、統(tǒng)計度量等。 Leangoo領(lǐng)歌上手快、實施成本低,可幫助企業(yè)快速落地敏捷,提質(zhì)增效、縮短周期、加速創(chuàng)新。 Leangoo領(lǐng)歌區(qū)別于傳統(tǒng)項目管

    2024年01月24日
    瀏覽(26)
  • StreamX流批一體一站式大數(shù)據(jù)平臺:大數(shù)據(jù)Flink可視化工具的革命性突破,讓你的數(shù)據(jù)更高效、更直觀!

    StreamX流批一體一站式大數(shù)據(jù)平臺:大數(shù)據(jù)Flink可視化工具的革命性突破,讓你的數(shù)據(jù)更高效、更直觀!

    介紹:StreamX,開源的流批一體一站式大數(shù)據(jù)平臺,致力于讓Flink開發(fā)更簡單。它極大地降低了學(xué)習(xí)成本和開發(fā)門檻,使開發(fā)者可以專注于最核心的業(yè)務(wù)。StreamX支持Flink多版本, 與Flink SQL WebIDE兼容,并可以進行Flink SQL校驗。此外,StreamX還提供了一套標(biāo)準(zhǔn)化的配置、開發(fā)、測試

    2024年01月17日
    瀏覽(30)
  • 平臺化的測試工具推薦|一站式測試平臺RunnerGo

    平臺化的測試工具推薦|一站式測試平臺RunnerGo

    互聯(lián)網(wǎng)行業(yè)的發(fā)展到今天越來越多的公司更加注重工作效率和團隊協(xié)作,越來越多的產(chǎn)品也趨于平臺化,平臺化也更有利于提高團隊效率,代碼管理、持續(xù)構(gòu)建、持續(xù)部署這些工具的發(fā)展都是非常超前的,它們對于團隊協(xié)作的支持和工作效率的提升非常明顯。對比下來測試工

    2024年02月16日
    瀏覽(27)
  • 文心千帆大模型平臺,一站式企業(yè)級大模型平臺

    文心千帆大模型平臺,一站式企業(yè)級大模型平臺

    隨著人工智能技術(shù)的不斷發(fā)展,尤其是深度學(xué)習(xí)技術(shù)的廣泛應(yīng)用,大模型訓(xùn)練已成為當(dāng)下研究的熱點之一,隨著計算能力的不斷提升和數(shù)據(jù)規(guī)模的不斷增加,大模型展現(xiàn)出了驚人的能力,能夠處理更加復(fù)雜和龐大的任務(wù)。從計算機視覺到自然語言處理,從語音識別到推薦系統(tǒng)

    2024年02月16日
    瀏覽(35)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包