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

創(chuàng)建MaxCompute投遞任務(wù)(新版)

日志服務(wù)采集到日志后,支持將日志投遞至MaxCompute的表中進(jìn)行存儲與分析。本文介紹如何創(chuàng)建MaxCompute投遞任務(wù)(新版)。

前提條件

注意事項

重要

目前僅華北2(北京)、華北3(張家口)、華東1(杭州)、華東2(上海)、華東2金融云(上海)、華南1(深圳)、華南1金融云(深圳)、西南1(成都)、中國(香港)、德國(法蘭克福)、馬來西亞(吉隆坡)、美國(弗吉尼亞)、美國(硅谷)、日本(東京)、新加坡、印度尼西亞(雅加達(dá))和英國(倫敦)地域支持使用MaxCompute投遞(新版)。其它地域,請?zhí)峤?span props="china">工單申請。

  • 對于char類型或varchar類型的字段,如果其值長度超過指定長度,那么投遞到MaxCompute后,超過部分會被截斷。

    例如長度限制為3,字段值為012345,則投遞到MaxCompute后,值為012。

  • 對于string類型、char類型或varchar類型的字段,如果其值為空字符串,那么投遞到MaxCompute后,值為Null。

  • 對于datetime類型的字段,其值格式必須為YYYY-MM-DD HH:mm:ss(DD和HH之間可以存在多個空格)。字段值格式錯誤時,不會導(dǎo)致投遞錯誤,但投遞到MaxCompute后,值為Null。

  • 對于date類型的字段,其值格式錯誤時,不會導(dǎo)致投遞錯誤,但投遞到MaxCompute后,值為Null。

  • 對于decimal類型的字段,如果其值中的小數(shù)位長度超過指定長度,會被四舍五入截斷;如果整數(shù)位超過指定長度,系統(tǒng)會將整條日志作為臟數(shù)據(jù)丟棄,并增加錯誤計數(shù)。

  • 投遞過程中,默認(rèn)丟棄臟數(shù)據(jù)。

  • 對于日志中不存在的值,投遞到MaxCompute后,可能為默認(rèn)值或Null。

    • 如果創(chuàng)建MaxCompute表時指定了默認(rèn)值,那么投遞到MaxCompute后,值為默認(rèn)值。

    • 如果創(chuàng)建MaxCompute表時未指定默認(rèn)值,但是允許值為Null,那么投遞到MaxCompute后,值為Null。

  • 由于MaxCompute的限制,最大投遞并發(fā)數(shù)為64,即最多支持64個并發(fā)同時寫MaxCompute。MaxCompute單分區(qū)的最大流量為10 MB/s。

操作視頻

操作步驟

  1. 登錄日志服務(wù)控制臺

  2. 在Project列表區(qū)域,單擊目標(biāo)Project。

    image

  3. 日志存儲 > 日志庫頁簽中,單擊目標(biāo)Logstore左側(cè)的>,選擇數(shù)據(jù)處理 > 導(dǎo)出 > MaxCompute(原ODPS)

  4. 將鼠標(biāo)懸浮在MaxCompute(原ODPS)上,單擊+

  5. MaxCompute投遞功能面板中,配置如下參數(shù),然后單擊確定

    選擇投遞版本新版(推薦),重要參數(shù)配置說明如下所示。

    參數(shù)

    說明

    任務(wù)名稱

    投遞任務(wù)的唯一名稱。

    顯示名稱

    投遞任務(wù)的顯示名稱。

    任務(wù)描述

    MaxCompute的任務(wù)描述。

    投遞區(qū)域

    目標(biāo)MaxCompute表所在地域。

    MaxCompute Endpoint

    MaxCompute地域?qū)?yīng)的Endpoint。更多信息,請參見Endpoint

    Tunnel Endpoint

    MaxCompute地域?qū)?yīng)的Tunnel Endpoint。更多信息,請參見Endpoint

    項目名

    目標(biāo)MaxCompute表所在的MaxCompute項目。

    MaxCompute表名

    MaxCompute表名稱。

    讀日志服務(wù)授權(quán)

    授予MaxCompute投遞任務(wù)讀取Logstore數(shù)據(jù)的權(quán)限。

    • 默認(rèn)角色:授權(quán)MaxCompute投遞任務(wù)使用阿里云系統(tǒng)角色AliyunLogDefaultRole來讀取Logstore中的數(shù)據(jù)。更多信息,請參見通過默認(rèn)角色讀取Logstore數(shù)據(jù)

    • 自定義角色:授權(quán)MaxCompute投遞任務(wù)使用自定義角色來讀取Logstore中的數(shù)據(jù)。

      您需先授予自定義角色讀取Logstore數(shù)據(jù)的權(quán)限,然后在讀日志服務(wù)授權(quán)中輸入您自定義角色的ARN。更多信息,請參見通過自定義角色讀取Logstore數(shù)據(jù)

    寫MaxCompute授權(quán)

    授予MaxCompute投遞任務(wù)將數(shù)據(jù)寫入到MaxCompute表中的權(quán)限。

    • 默認(rèn)角色:授權(quán)MaxCompute投遞任務(wù)使用阿里云系統(tǒng)角色AliyunLogDefaultRole將數(shù)據(jù)寫入到MaxCompute表中。更多信息,請參見通過默認(rèn)角色寫數(shù)據(jù)到MaxCompute

    • 自定義角色:授權(quán)MaxCompute投遞任務(wù)使用自定義角色將數(shù)據(jù)寫入到MaxCompute表中。

      您需先授予自定義角色將數(shù)據(jù)寫入到MaxCompute表中的權(quán)限,然后在寫MaxCompute授權(quán)中輸入您自定義角色的ARN。

      • 如果日志服務(wù)和MaxCompute屬于同一阿里云賬號,請參見同賬號投遞

      • 如果日志服務(wù)和MaxCompute屬于不同的阿里云賬號,請參見跨賬號投遞

    • RAM用戶的AccessKey:授權(quán)MaxCompute投遞任務(wù)使用RAM用戶將數(shù)據(jù)寫入到MaxCompute表中。更多信息,請參見為RAM用戶授予寫數(shù)據(jù)到MaxCompute的權(quán)限

    點擊自動授權(quán)

    單擊授權(quán),支持自動為RAM角色授予寫入MaxCompute的權(quán)限。

    重要
    • 如果使用RAM用戶進(jìn)行操作,那么該RAM用戶需具備MaxCompute賬戶操作權(quán)限。

    • 自動授權(quán)操作失敗時,會提示下列四條操作命令。您可以復(fù)制該命令到MaxCompute控制臺,手動完成授權(quán)。具體操作,請參見通過命令行完成授權(quán)

      USE xxxxx;
      ADD USER RAM$xxxxx:`role/xxxxx`;
      GRANT CreateInstance ON PROJECT xxxxx TO USER RAM$xxxxx:`role/xxxxx`;
      GRANT Describe, Alter, update ON TABLE xxxxx TO USER RAM$xxxxx:`role/xxxxx`;

    MaxCompute普通列

    左邊輸入框中填寫與MaxCompute表列相映射的日志字段名稱,右邊為MaxCompute表的列名稱。更多信息,請參見數(shù)據(jù)模型映射

    重要
    • 日志服務(wù)投遞日志到MaxCompute時,按照日志字段與MaxCompute表列的順序進(jìn)行映射,修改MaxCompute表列名不影響數(shù)據(jù)投遞。如果更改MaxCompute表的Schema,請重新配置日志字段與MaxCompute表列映射關(guān)系。

    • 左邊輸入框的日志字段,不支持雙引號("")、單引號('')和含有空格的字符串。

    • 如果您的日志中存在同名字段(例如都為request_time),則日志服務(wù)會將其中一個字段名顯示為request_time_0,底層存儲的字段名仍為request_time。因此您在投遞時,只能使用原始字段名request_time

      存在同名字段時,系統(tǒng)只隨機(jī)投遞其中一個字段的值。請盡量避免日志中使用同名字段。

    MaxCompute分區(qū)列

    左邊輸入框中填寫與MaxCompute表分區(qū)列相映射的日志字段名稱,右邊為MaxCompute表分區(qū)列名稱。更多信息,請參見數(shù)據(jù)模型映射

    說明
    • 分區(qū)字段不支持_extract_others___extract_others____extract_others_all__

    時間分區(qū)格式

    時間分區(qū)格式,配置示例和參數(shù)詳情請參見參考信息

    說明
    • 僅當(dāng)MaxCompute分區(qū)列中的字段配置為__partition_time__時,時間分區(qū)格式才生效。

    • 請勿使用精確到秒的日期格式,易導(dǎo)致單表的分區(qū)數(shù)目超過限制(60000個)。

    時區(qū)選擇

    該時區(qū)用于格式化時間以及時間分區(qū)。更多信息,請參見時區(qū)列表

    投遞模式

    支持實時投遞和批投遞。

    • 實時投遞:即時讀取Logstore中的數(shù)據(jù),并投遞到MaxCompute。

    • 批投遞:讀取Logstore中早于當(dāng)前時間5分鐘~10分鐘之間的數(shù)據(jù),并投遞到MaxCompute中。

    更多信息,請參見投遞模式說明

    開始時間范圍

    指定MaxCompute投遞任務(wù)的時間范圍,此處的時間范圍依賴日志的接收時間。詳細(xì)說明如下:

    • 所有:從Logstore接收到第一條日志的時間點開始數(shù)據(jù)投遞,直到投遞任務(wù)被手動停止。

    • 某時間開始:指定MaxCompute投遞任務(wù)的開始時間,從該時間點開始數(shù)據(jù)投遞,直到投遞任務(wù)被手動停止。

    • 特定時間范圍:指定MaxCompute投遞任務(wù)的起止時間,投遞任務(wù)執(zhí)行到指定結(jié)束時間后自動停止。

    創(chuàng)建投遞任務(wù)后,一般情況下日志數(shù)據(jù)會在寫入Logstore后的1個小時導(dǎo)入到MaxCompute,導(dǎo)入成功后即可在MaxCompute內(nèi)查看到相關(guān)數(shù)據(jù)。更多信息,請參見日志投遞MaxCompute后,如何檢查數(shù)據(jù)完整性

    | log_source | log_time | log_topic | time | ip | thread | log_extract_others | log_partition_time | status |
    +------------+------------+-----------+-----------+-----------+-----------+------------------+--------------------+-----------+
    | 10.10.*.* | 1642942213 | | 24/Jan/2022:20:50:13 +0800 | 10.10.*.* | 414579208 | {"url":"POST /PutData?Category=YunOsAccountOpLog&AccessKeyId=****************&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=******************************** HTTP/1.1","user-agent":"aliyun-sdk-java"} | 2022_01_23_20_50 | 200 |
    +------------+------------+-----------+-----------+-----------+-----------+------------------+--------------------+-----------+

數(shù)據(jù)模型映射

將日志服務(wù)中的日志投遞到MaxCompute表中時,涉及兩個服務(wù)之間的數(shù)據(jù)模型映射問題,相關(guān)注意事項與示例如下所示。

  • MaxCompute表至少包含一個數(shù)據(jù)列和一個分區(qū)列。

  • 日志服務(wù)保留字段建議使用__partition_time____source____topic__

  • 一個MaxCompute表的分區(qū)數(shù)最大值為60000個,當(dāng)分區(qū)數(shù)超出最大值后無法再寫入數(shù)據(jù)。

  • 系統(tǒng)保留字段__extract_others__有曾用名_extract_others_,可兼容使用。

  • MaxCompute分區(qū)列的值不支持配置為MaxCompute的保留字和關(guān)鍵字。更多信息,請參見保留字與關(guān)鍵字

  • MaxComute分區(qū)表的分區(qū)不能為空。MaxCompute分區(qū)列必須要配置確定的字段(系統(tǒng)保留字段或日志內(nèi)容的字段),舊版投遞需要滿足通過cast運算符將string類型字段值轉(zhuǎn)換為對應(yīng)分區(qū)列類型(若轉(zhuǎn)換失敗導(dǎo)致的空分區(qū)列,日志會在投遞中被丟棄)。

  • 日志服務(wù)中一個日志字段只能映射到一個MaxCompute表的列(數(shù)據(jù)列或分區(qū)列),不支持字段冗余。

MaxCompute數(shù)據(jù)列、分區(qū)列與日志服務(wù)字段的映射關(guān)系示例如下所示,其中日志服務(wù)保留字段詳情請參見保留字段

MaxCompute列類型

列名(MaxCompute)

數(shù)據(jù)類型(MaxCompute)

日志字段名稱(日志服務(wù))

字段類型(日志服務(wù))

字段說明

數(shù)據(jù)列

log_source

string

__source__

保留字段

日志來源。

log_time

bigint

__time__

保留字段

日志時間,Unix時間戳格式,對應(yīng)數(shù)據(jù)模型中的Time域。

log_topic

string

__topic__

保留字段

日志主題。

time

string

time

日志內(nèi)容字段

解析自日志,對應(yīng)數(shù)據(jù)模型中的key-value。在很多時候Logtail采集的數(shù)據(jù)的__time__與time取值相同。

ip

string

ip

日志內(nèi)容字段

解析自日志。

thread

string

thread

日志內(nèi)容字段

解析自日志。

log_extract_others

string

__extract_others__

保留字段

未在配置中進(jìn)行映射的其他日志字段會通過key-value序列化到JSON中,該JSON是一層結(jié)構(gòu),不支持字段內(nèi)部JSON嵌套。

分區(qū)列

log_partition_time

string

__partition_time__

保留字段

由日志中的__time__字段對齊計算而得,分區(qū)粒度可配置。

status

string

status

日志內(nèi)容字段

解析自日志,該字段取值支持枚舉,保證分區(qū)數(shù)目不超過上限。

投遞模式說明

目前,MaxCompute投遞(新版)支持實時投遞和批投遞兩種模式。

  • 實時投遞:即時讀取Logstore中的數(shù)據(jù),投遞到MaxCompute。

  • 批投遞:讀取Logstore中早于當(dāng)前時間5分鐘~10分鐘之間的數(shù)據(jù),并投遞到MaxCompute中。

    設(shè)置投遞模式批投遞后,如果您要設(shè)置開始時間范圍中的起始時間結(jié)束時間,則必須按照5分鐘對齊。例如2022-05-24 16:35:00是正確設(shè)置,2022-05-24 16:36:00為非法設(shè)置。MaxCompute投遞模式

    另外,批投遞支持投遞__receive_time__字段。

    • __receive_time__字段表示日志被日志服務(wù)接收的時間,您可通過時間分區(qū)格式設(shè)置其格式,最大精確到半小時。關(guān)于時間分區(qū)格式的說明,請參見參考信息

      如果您要投遞該字段,只能在MaxCompute分區(qū)列中添加該字段。

參考信息

  • __partition_time__字段

    將日志時間作為分區(qū)字段,通過時間篩選數(shù)據(jù)是MaxCompute常見的過濾數(shù)據(jù)的方法。

    • 格式

      __partition_time__是根據(jù)日志服務(wù)中__time__字段的值計算得到的,結(jié)合時區(qū)配置以及分區(qū)時間格式,生成時間字符串。為避免觸發(fā)MaxCompute單表分區(qū)數(shù)目的限制,日期分區(qū)列的值按照1800秒(半小時)對齊。

      例如:日志服務(wù)的日志時間為27/Jan/2022 20:50:13 +0800,日志服務(wù)據(jù)此計算出保留字段__time__1643287813(Unix時間戳),不同配置下的時間分區(qū)列取值如下所示。

      分區(qū)時間格式

      __partition_time__

      %Y_%m_%d_%H_%M_00

      2022_01_27_20_30_00

      %Y_%m_%d_%H_%M

      2022_01_27_20_30

      %Y%m%d

      20220127

    • 使用方法

      使用__partition_time__ 篩選數(shù)據(jù),可以避免全表掃描。例如查詢2022年1月26日一天內(nèi)日志數(shù)據(jù),查詢語句如下所示。

      select * from {ODPS_TABLE_NAME} where log_partition_time >= "2022_01_26" and log_partition_time < "2022_01_27";
  • __extract_others__字段和__extract_others_all__字段

    • __extract_others__字段中包含日志字段中未映射的所有字段(不包括__topic____tag__:*__source__)。

    • __extract_others_all__字段中包含日志字段中未映射的所有字段(包括__topic____tag__:*__source__)。

SDK示例

export_odps_sink_demo.py