這期內(nèi)容當中小編將會給大家?guī)碛嘘P(guān)區(qū)塊鏈數(shù)據(jù)分析基礎(chǔ)工具BlockETL怎么用,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
為大英等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務,及大英網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務為網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、大英網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
BlockETL軟件包用于比特幣區(qū)塊鏈數(shù)據(jù)分析中的數(shù)據(jù)抽取/轉(zhuǎn)換/加載(ETL),可以從原始的比特幣區(qū)塊文件中抽取區(qū)塊與交易數(shù)據(jù)并加載入通用SQL數(shù)據(jù)庫,以便于后續(xù)的數(shù)據(jù)分析處理,非常適合區(qū)塊鏈數(shù)據(jù)分析相關(guān)的畢業(yè)設(shè)計或課題研究項目。
BlockETL軟件包的主要特性如下:
直接讀取原始區(qū)塊文件,抽取速度快
將原始區(qū)塊和交易數(shù)據(jù)加載至SQL數(shù)據(jù)庫,便于后續(xù)的區(qū)塊鏈數(shù)據(jù)分析
支持多流水線并行處理,可自己控制并發(fā)流水線數(shù)量
結(jié)構(gòu)設(shè)計清晰,代碼便于擴展
BlockETL軟件包采用Java開發(fā),支持Windows、OSX和Linux等多種操作系統(tǒng),當前版本1.0.0,主要類/接口及關(guān)系如下圖所示:
BlockETL軟件包的目錄組織及主要代碼文件清單參見官網(wǎng)說明:http://sc.hubwiz.com/codebag/blocketl-java/
在開始使用軟件包之前,請先安裝好gradle 6、jdk 8和所選擇的SQL數(shù)據(jù)庫。下面以MySQL為例說明使用過程:
安裝mysql服務器,參考文檔:Install and Upgrading MySQL。
安裝jdk 8,參考文檔:JDK 8 Installation
安裝gradle 6,參考文檔:Gradle Installation。
進入軟件包的sql
目錄,使用ddl.sql
腳本創(chuàng)建數(shù)據(jù)庫和基礎(chǔ)表結(jié)構(gòu):
mysql -u root -p < ddl.sql
上述命令會要求交互輸入root用戶的密碼,也可以使用其他有足夠權(quán)限的用戶名/密碼。成功執(zhí)行后,上述命令將創(chuàng)建數(shù)據(jù)庫bitcoin_analysis和基礎(chǔ)數(shù)據(jù)表:
blocks:比特幣區(qū)塊頭數(shù)據(jù)表
transactions:比特幣交易頭數(shù)據(jù)表
tx_inputs:比特幣交易輸入數(shù)據(jù)表
tx_output:比特幣交易輸出數(shù)據(jù)表
首先根據(jù)自己的基礎(chǔ)環(huán)境配置,修改demo/src/App.java文件中的區(qū)塊目錄和數(shù)據(jù)庫連接信息并保存:
String dataDir = "…"; //區(qū)塊數(shù)據(jù)文件目錄 String dbUrl = "jdbc:…. "; //SQL數(shù)據(jù)庫連接URL String dbUser = "…", //SQL數(shù)據(jù)庫用戶名 String dbPassword = "…"; //SQL數(shù)據(jù)庫密碼 String network = "mainnet"; //主網(wǎng):mainnet,測試網(wǎng):testnet
進入軟件包的demo目錄,使用gradle run
或gradle.bat run
命令啟動演示應用,可以看到屏幕輸出的數(shù)據(jù)加載進度:
軟件包的demo
應用除了在屏幕輸出日志,也會記錄到當前目錄下的app.log
文件中,可以利用此文件排查故障。
要長時間無人值守運行,可以使用gradle distZip
打包后再執(zhí)行編譯好的程序。
一旦完成區(qū)塊鏈數(shù)據(jù)的抽取并加載到SQL數(shù)據(jù)庫中,就可以進行數(shù)據(jù)分析了。
為了提高數(shù)據(jù)加載速度,在之前的ddl.sql
中沒有定義數(shù)據(jù)表的索引,因此在進行數(shù)據(jù)分析之前,首先要使用index.sql
來建立數(shù)據(jù)表索引以加速統(tǒng)計查詢的執(zhí)行。進入sql目錄執(zhí)行如下命令完成索引構(gòu)建,根據(jù)要求輸入密碼:
mysql -u root -p < index.sql
索引建立之后,就可以利用SQL進行數(shù)據(jù)分析了。
上述就是小編為大家分享的區(qū)塊鏈數(shù)據(jù)分析基礎(chǔ)工具BlockETL怎么用了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。