使用資料分析包

3 使用資料分析包

Synapse企業套件版與自助分析版都包含了資料分析包的功能。資料分析包僅適用於目標資料庫為Infobright類型的資料庫。用於資料的匯入和匯出,並且支援匯入後直接進行樞紐分析。

1、適用場景

資料分析包僅適用於目標資料庫為Infobright類型的資料庫。

1.1、場景A

某個資料中心部署了Synapse,使用者有取得資料進行分析的需求。出於某些原因,資料中心管理員不希望使用者直接連接伺服器,而是把資料分發下去。使用者拿到資料後,先匯入到本地Synapse,然後可以直接進行樞紐分析;也可以和本地的資料再做關聯後,進一步分析。

1.2、場景B

我們聯合資料來源的資料填充功能是基於DML(Data Manipulation Language)來完成的,而Infobright資料庫的社區版是不支援DML操作的。通過資料分析包可以實現Infobright資料來源的資料填充功能。

2、功能說明

Synapse包含了資料分析包的功能。

2.1、資料分析包的匯出

通過"匯總分析"的工具列中的"匯出"按鈕,選擇類型為"資料分析包"即可匯出資料分析包。效果如下圖所示:

2.2、資料分析包的匯入

資料分析包可以通過"資料取得”下的“載入excel資料”功能進行匯入。如下圖所示:

效果如下圖所示:

載入excel資料支援抽取到高速快取庫。

新建樞紐分析,在高速快取庫選擇上面步驟匯入的資料分析包,則進入樞紐分析設計介面,可以使用資料分析包建立樞紐分析。

匯入的檔案也支援直接匯入Excel資料檔案(資料必須從Excel的第1列第1欄開始填充,第1列可以是欄頭資訊,除了欄頭與明細資料外Excel中不能包含其它任何額外資訊),Excel內容範例如下:

在“載入資料分析包”介面選擇該檔案,效果如下:

點擊上圖的“執行匯入”按鈕,效果如下:

點擊“完成”按鈕,即可完成匯入操作。

2.3、計畫任務中匯出

在計畫任務的"報表匯出"任務類型中,如果"報表設定"中選擇了"匯總分析"報表,則"匯出設定"中"匯出格式"可以選擇"資料分析包"。效果如下圖所示:

查看執行腳本效果如下:

2.4、計畫任務中匯入

在計畫任務中目前只能通過自訂腳本進行資料分析包的匯入,範例腳本如下:

var dsId = 'DS.SynapseUnionbase'; // Synapse中Infobright資料來源的節點ID

var dataPackageFileName = 'c:/temp/test.sdatapkg'; // 資料分析包所在路徑

var jsonObjConfig = new Packages.Synapse.net.sf.json.JSONObject();

jsonObjConfig.put('clearTableBeforeLoad', true); // 匯入前先清空原表中的所有資料

// jsonObjConfig.put('clearTableBeforeLoad', false); // 匯入前不清空原表中的資料,即追加式匯入

jsonObjConfig.put('customTableName', 'TestImport'); // 指定載入資料的目標資料表,不指定時自動載入到一個新建的表中

// jsonObjConfig.put('customTableAlias', '中文表別名'); // 指定目標表別名

Packages.Synapse.datapackage.DataPackageImporter.doImport(dsId, dataPackageFileName, null, jsonObjConfig); 效果如下:

附錄、“資料分析包”檔案格式

資料分析包其實就是一個zip格式的資料檔案,可以通過“壓縮/解壓”工具直接開啟該類檔案以查看其內部結構,效果如下:

其中“meta.properties”為入口檔案,檔案名稱固定為“meta.properties”不能改變,其中範例內容如下:

CSV檔的檔案名由“meta.properties”中的dataFileList屬性指定,其內容不含欄頭資訊,範例內容如下:

Last updated

Was this helpful?