使用資料分析包
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?