日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Sensors Data(神策)數據源

DataWorks數據集成支持使用Sensors Data Writer將數據寫至Sensors Data,本文為您介紹DataWorks的Sensors Data數據同步的能力支持情況。

使用限制

  • 目前僅華南1(深圳)地域支持綁定Sensors Data數據源,其他地域會陸續支持,敬請期待!

  • 不支持直接讀取SensorsData中的數據,需要根據神策數據存儲類型選擇Hive、HDFS等插件來讀取數據。

創建數據源

在進行數據同步任務開發時,您需要在DataWorks上創建一個對應的數據源,操作流程請參見創建并管理數據源詳細的配置參數解釋可在配置界面查看對應參數的文案提示

數據同步任務開發

數據同步任務的配置入口和通用配置流程可參見下文的配置指導。

單表離線同步任務配置指導

附錄一:腳本Demo與參數說明

離線任務腳本配置方式

如果您配置離線任務時使用腳本模式的方式進行配置,您需要按照統一的腳本格式要求,在任務腳本中編寫相應的參數,詳情請參見通過腳本模式配置離線同步任務,以下為您介紹腳本模式下數據源的參數配置詳情。

Writer腳本Demo

{
    "type": "job",
    "steps": [
        {
            "stepType": "mysql",
            "parameter": {},
            "name": "Reader",
            "category": "reader"
        },
        {
             "stepType": "sahistory", //插件名。
             "parameter": {
                "type": "item", //寫入Sensors Data的數據類型,可取值有:track/user/item,分別對應神策系統中的事件/用戶/屬性。
                     "item": {       //因為type參數取值為item,因此此處需要定義item參數。
                    "itemType": "course", //定義item的類型為學生課程course
                    "typeIsColumn": false, //item的類型是否會出現在column參數中
                    "itemIdColumn": "course_id" //定義itemID的字段名稱
                },
                "column": [     //定義來源表和目標表之間的字段映射關系
                    {
                        "name": "course_id",    //目標表的字段列名為course_id
                        "index": 0              //取來源表的第1列數據寫入目標表的course_id列
                    },
                    {
                        "name": "course_name",  //目標表的字段列名為course_name
                        "index": 1              //取來源表的第2列數據寫入目標表的course_name列
                    },
                    {
                        "name": "course_schedule",  //目標表的字段列名為course_schedule
                        "index": 2                  //取來源表的第3列數據寫入目標表的course_schedule列
                        "dataConverters":[          //轉換器,實現數據類型轉換。
                               {
                                    "type": "Long2Date"   //轉換器類型。
                                }
                          ]
                    }
                ],
                "sdkDataAddress": "http://bigdata-project.datasink.sensorsdata.cn/sa?project=default&token=1111111111111111", //數據存放路徑,即Sensors Data接收數據的URL地址
                  },
            "name": "Writer",
            "category": "writer"
        }
    ],
    },
    "setting": {
        "errorLimit": {
            "record": "0" //錯誤記錄數。
        },
        "speed": {
            "throttle":true,//當throttle值為false時,mbps參數不生效,表示不限流;當throttle值為true時,表示限流。
                        "concurrent":2, //作業并發數。
                        "mbps":"12"http://限流,此處1mbps = 1MB/s。
        }
    }
}

Writer腳本參數

參數

描述

是否必選

默認值

type

寫入神策數據系統的數據類型,取值包括:trackuseritem,分別對應神策數據系統中的事件用戶屬性。type參數的取值,將影響數據類型的參數定義。

typetrack時,可選參數如下:

  • distinctIdColumn(可選):輸入一個字段名稱作為神策數據系統中事件的Distinct ID,并且該字段名稱需要同時被定義在column參數中作為事件的屬性,該屬性值不能為空值。

  • eventName(可選):輸入一個名稱作為神策數據系統中事件的名稱。

  • isLoginId(可選):輸入true或false的布爾值來定義作為神策數據中事件Distinct ID的字段是否是登錄ID,即用戶的唯一標識。默認值為:true。

腳本示例如下:

"track": {  
"distinctIdColumn": "track_id",  
"eventName": "testEventName", 
"isLoginId": true
}

typeuser時,可選參數如下:

  • distinctIdColumn(可選):輸入一個字段名稱作為神策數據系統中用戶的Distinct ID,并且該字段名稱需要同時被定義在column參數作為用戶的屬性,該屬性值不能為空值。

  • isLoginId(可選):輸入true或false的布爾值來定義作為神策數據中事件Distinct ID的字段是否是登錄ID,即用戶的唯一標識。默認值為:true。

腳本示例如下:

"user": {
"distinctIdColumn": "user_id", 
"isLoginId": true
}

typeitem時,可選參數如下:

  • itemIdColumn(可選):輸入一個字段名稱作為神策數據系統中屬性的Distinct ID,并且該字段名稱需要同時被定義在column參數作為屬性的屬性,該屬性值不能為空值。

  • itemType(可選):輸入一個字段名稱作為神策數據系統中屬性的itemType,并且如果該字段名稱被定義在了column參數中時,該字段不能存在空值并且typeIsColumn配置項應該為true,否則將以常量值作為神策itemType。

  • typeIsColumn(可選):輸入true或false的布爾值來定義itemType配置項是否在column配置項的列表中。默認值為:true。

腳本示例如下:

"item": {
"itemIdColumn": "item_id", 
"itemType": "testItem",
"typeIsColumn": false
}

column

通過index和name參數,來定義來源表字段與目標表字段的映射關系。

  • name(必選):目標表的字段名稱。

  • index(必選):來源表的字段順序的下標值。例如,來源表中的首列字段,index值為0。

sdkDataAddress

數據存放路徑,即Sensors Data接收數據的URL地址,該地址的格式為:http://localhost:8106/sa?project=default,該地址可從神策分析 > 基本設置 > 數據接入 > 服務端埋點 > 復制http數據接收地址來獲取。

附錄二:其他參數介紹

Sensors Data Writer支持在腳本中對要寫入目標數據源的字段,通過添加數據轉換器(dataConverters),并定義轉換器類型(type),實現要寫入目標數據源字段的類型轉換,轉換器類型及參數示例如下表所示。

轉換器類型

功能描述

示例

參數說明

Date2Str

將Date時間類型的數據轉換為String字符串類型。

//示例
"dataConverters":[
    {
        "type": "Date2Str",
        "param": {
            "pattern":"yyyy-MM-dd"
        }
    }
]

pattern(可選):將Date數據轉換為String類型數據后,String類型數據的時間格式。

Date2Long

將Date時間類型的數據轉換為Long長整型類型。

"dataConverters":[
    {
        "type": "Date2Long"
    }
]

Number2Str

將Number數值類型的數據轉換為String字符串類型。

//示例
"dataConverters":[
    {
        "type": "Number2Str"
    }
]

Str2Long

將String字符串類型的數據轉換為Long長整型類型。

//示例
"dataConverters":[
    {
        "type": "Str2Long"
    }
]

Str2Date

將String字符串類型的數據轉換為Date時間類型。

//示例
"dataConverters":[
    {
        "type": "Str2Date",
        "param": {
            "pattern":"yyyy-MM-dd",
            "formats":["yyyyMMdd","yyyyMMddHHmmss"]
        }
    }
]
  • pattern(可選):轉換后Date數據的時間格式,內置時間格式包括:yyyy-MM-ddyyyy-MM-dd HH:mm:ssyyyy-MM-dd HH:mm:ss.SSSyyyy-MMyyyyMMyyyyMMddHHmmssyyyyMMddHHmmssSSS

  • formats(可選):其他格式的字符串時間數組(數據來源的時間格式可能存在多種,可以彌補pattern的不足)。

BigInt2Date

將BigInt大整數類型的數據轉換為Date時間類型。

//示例
"dataConverters":[
    {
        "type": "BigInt2Date"
    }
]

Str2Int

將String字符串類型的數據轉換為Int整數類型。

//示例
"dataConverters":[
    {
        "type": "Str2Int"
    }
]

Str2Double

將String字符串類型的數據轉換為Double雙精度數值類型。

//示例
"dataConverters":[
    {
        "type": "Str2Double"
    }
]

Str2BigDecimal

將String字符串類型的數據轉換為BigDecimal高精度數值類型。

//示例
"dataConverters":[
    {
        "type": "Str2BigDecimal"
    }
]

IfNull2Default

當字段值為null時,將字段值設置為default參數中定義的常量值,并支持根據IfNull2Default轉換器中嵌套的轉換器類型,進一步將字段常量值轉換為目標數據類型。

//示例
//如果該列的值為null或者空字符串,那么設置該值為字符串類型的2021-07-01,并且將該字符串轉換為yyyy-MM-dd格式的時間,再將該時間轉換為long型的毫秒值。
"dataConverters":[
    {
        "type": "IfNull2Default",
        "param": {
            "default": "2021-07-01",
            "dataConverters": [
                {
                    "type": "Str2Date",
                    "param": {
                        "pattern":"yyyy-MM-dd"
                    }
                },
                {
                    "type": "Date2Long"
                }
            ]
        }
    }
]

dataConverters:數據轉換器,將default參數的默認值轉換為type中定義的類型。實現多次數據轉換,多個dataConverters可嵌套使用。

NotNull2Null

如果字段值為非null的值,可以將字段值轉換為null。

//示例
"dataConverters":[
    {
        "type": "NotNull2Null"
    }
]

IfElse

if條件表達式,判斷字段值是否滿足條件,當if條件表達式成立時,在value中定義滿足條件時的字段返回值,當if條件表達式不成立時,在else中定義不滿足條件時的字段返回值。

//示例
"dataConverters":[
                  {
                    "type": "IfElse",
                    "param": {
                      "if": "return true;",
                      "value":"if(resolvedValues.get(\"check_card_type\") == 'NAN' && value == null ){return true;} if(resolvedValues.get(\"check_card_type\") == '身份證'){  if(java.util.regex.Pattern.compile(regEx).matcher(value).find() && java.lang.Integer.parseInt(value.substring(6, 10)) >=1900 && java.lang.Integer.parseInt(value.substring(6, 10)) <= nowYear){return true;}} return null;",
                      "sharedPool":"var nowYear = java.time.LocalDate.now().getYear(); var regEx = \"(110|120|310|510|150|650|540|640|450|230|220|210|120|140|630|370|410|320|340|320|340|330|350|360|430|420|440|460|620|610|520|530)\\\\d{7}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])\\\\d{3}(\\\\d|X)\"; "
                    }
                  }
                ]
  • if:if條件表達式,使用JavaScript引擎解析,確保返回值為boolean類型。導入神策數據的當前字段,和當前插件獲取到的value值,dataConverters下配置的param參數,以及已解析的列(map結構),會傳遞到if表達式中,可通過targetColumnName、value、param、resolvedValues分別獲取對應的值。

  • value:if條件表達式成立時,返回轉換后的值,使用JavaScript引擎解析,導入神策數據的當前字段,和當前插件獲取到的value值,dataConverters下配置的param參數,以及已解析的列(map結構),會傳遞到value表達式中,可通過targetColumnName、value、param、resolvedValues分別獲取對應的值。

  • else:if條件表達式不成立時,返回轉換后的值,使用JavaScript引擎解析,導入神策數據的當前字段,和當前插件獲取到的value值,dataConverters下配置的param參數,以及已解析的列(map結構),會傳遞到else表達式中,可通過targetColumnName、value、param、resolvedValues分別獲取對應的值。

  • sharedPool:共享區,使用JavaScript引擎解析,該值定義的變量或常量在if、value、else中都能使用。

IfNull2Column

如果字段值為null,則轉向取targetColumnName配置項的值,作為當前字段的值。

//示例
"dataConverters": [
    {
        "type": "IfNull2Column",
        "param": {
            "targetColumnName":"age1"
        }
    }
]

targetColumnName:導入神策數據的列名。

重要

targetColumnName配置的列需要在應用IfNull2Column轉換器的列之前配置。