Log Service將日誌投遞到OSS後,支援儲存為不同的檔案格式。本文介紹ORC格式。
參數配置
在建立OSS投遞任務(新版)時,選擇儲存格式為orc,對應的參數配置如下:將是否壓縮設定為壓縮(snappy),支援的壓縮方式包括 none、snappy、gzip、zstd 等。在Orc欄位地區,添加以下欄位:Key名稱為 __topic__,類型為 string;Key名稱為 concent,類型為 string。可通過藍色+按鈕添加新欄位,或單擊刪除移除已有欄位。
相關參數說明如下表所示。
|
參數 |
說明 |
|
Key名稱 |
您可以在原始日誌頁簽中查看日誌欄位,將需要投遞到OSS的欄位名有序填入。OSS投遞任務將按照此順序組織ORC資料,並使用該欄位名作為ORC資料的列名。 Log Service還提供保留欄位__time__、__topic__、__source__。保留欄位的更多資訊,請參見保留欄位。 如果遇到如下兩種情況時,ORC資料的列值為null。
說明
|
|
類型 |
ORC儲存支援6種類型:string、boolean、int32、int64、float、double。 日誌投遞過程中,會將Log Service中的日誌欄位由string類型轉換為ORC目標類型。如果轉換到非string類型失敗,則該列資料為null。 |
OSS檔案地址
投遞到OSS後,OSS檔案地址樣本如下表所示。
-
在建立OSS投遞任務時,如果您自訂了檔案尾碼,則檔案尾碼由您自訂的尾碼決定。
-
在建立OSS投遞任務時,如果您未自訂檔案尾碼,則檔案尾碼由壓縮類型決定。
|
壓縮類型 |
檔案尾碼 |
OSS檔案地址樣本 |
說明 |
|
不壓縮 |
如果您自訂了檔案尾碼,則以您的設定為準,例如.suffix。 |
oss://oss-shipper-chengdu/ecs_test/2022/01/26/20/54_1453812893059571256_937.suffix |
下載到本地,使用orc-tools工具開啟。 |
|
如果未自訂檔案尾碼,則檔案尾碼為.orc。 |
oss://oss-shipper-chengdu/ecs_test/2022/01/26/20/54_1453812893059571256_937.orc |
||
|
壓縮(snappy) |
如果您自訂了檔案尾碼,則以您的設定為準,例如.suffix。 |
oss://oss-shipper-chengdu/ecs_test/2022/01/26/20/54_1453812893059571256_937.suffix |
|
|
如果未自訂檔案尾碼,則檔案尾碼為.snappy.orc |
oss://oss-shipper-chengdu/ecs_test/2022/01/26/20/54_1453812893059571256_937.snappy.orc |
||
|
壓縮(zstd) |
如果您自訂了檔案尾碼,則以您的設定為準,例如.suffix。 |
oss://oss-shipper-chengdu/ecs_test/2022/01/26/20/54_1453812893059571256_937.suffix |
|
|
如果未自訂檔案尾碼,則檔案尾碼為.zst.orc |
oss://oss-shipper-chengdu/ecs_test/2022/01/26/20/54_1453812893059571256_937.zst.orc |
資料消費
-
通過E-MapReduce、Spark 、Hive消費資料。更多資訊,請參見社區文檔。
-
通過單機校正工具消費資料。
orc tool可用於查看ORC檔案的Meta資訊、讀取資料等。您可以通過maven repo下載orc-tools-1.7.2-uber.jar進行驗證。
-
查看Meta資訊
-
命令
java -jar ~/Downloads/orc-tools-1.7.2-uber.jar meta -p file.orc -
返回結果
Processing data file /Users/xx/file.orc [length: 200779] Structure for /Users/xx/file.orc File Version: 0.12 with ORC_CPP_ORIGINAL by ORC C++ 1.7.2 Rows: 124022 Compression: ZSTD Compression size: 65536 Calendar: Julian/Gregorian Type: struct<bucket:string,bucket_region:string> Stripe Statistics: Stripe 1: Column 0: count: 124022 hasNull: false Column 1: count: 124022 hasNull: false min: bucket0 max: sls-training-data sum: 1468133 Column 2: count: 0 hasNull: true File Statistics: Column 0: count: 124022 hasNull: false Column 1: count: 124022 hasNull: false min: bucket0 max: sls-training-data sum: 1468133 Column 2: count: 0 hasNull: true Stripes: Stripe: offset: 3 data: 199856 rows: 124022 tail: 97 index: 578 Stream: column 0 section ROW_INDEX start: 3 length 102 Stream: column 1 section ROW_INDEX start: 105 length 367 Stream: column 2 section ROW_INDEX start: 472 length 109 Stream: column 0 section PRESENT start: 581 length 25 Stream: column 1 section PRESENT start: 606 length 25 Stream: column 1 section LENGTH start: 631 length 38989 Stream: column 1 section DATA start: 39620 length 160794 Stream: column 2 section PRESENT start: 200414 length 23 Stream: column 2 section LENGTH start: 200437 length 0 Stream: column 2 section DATA start: 200437 length 0 Encoding column 0: DIRECT Encoding column 1: DIRECT_V2 Encoding column 2: DIRECT_V2 File length: 200779 bytes Padding length: 0 bytes Padding ratio: 0%
-
-
讀取資料
-
命令
java -jar ~/Downloads/orc-tools-1.7.2-uber.jar data -n 5 file.orc -
返回結果
Processing data file /Users/xx/file.orc [length: 200779] {"bucket":"bucket3","bucket_region":"cn-hangzhou"} {"bucket":"bucket3","bucket_region":"cn-hangzhou"} {"bucket":"bucket4","bucket_region":"cn-hangzhou"} {"bucket":"dashboard-bucket","bucket_region":"cn-hangzhou"} {"bucket":"bucket2","bucket_region":null}
-
更多用法請執行java -jar orc-tools-1.7.2-uber.jar命令或者參見orc tool查看協助。
-