CLI使用案例2 輕鬆大併發地拉取大資料到本地

2021-09-22 05:19:23 字數 1485 閱讀 1009

sdk提供的介面需要用起來有些複雜, 例如游標怎麼獲取, 分割槽如何傳入, 拉去資料後需要輸出格式化?

如果是的, 你可能需要使用日誌服務的cli來輕鬆拉取資料到本地.

拉取資料(pulllog)指的是針對特定分割槽, 按照游標來消費日誌, 游標指的是伺服器接收到日誌的時間.

拉取資料的特點是:

沒有索引的資料也可以拉取.

按照分割槽粒度拉取, 每個分割槽游標互相無關.

速度快, 易併發, 且支援傳輸壓縮.

拉取的資料按照伺服器接受的時間排序.

aliyunlog log pull_log_dump --project_name="p1" --logstore_name="l1" --from_time="2018-01-24 16:00:00+8:00" --to_time="2018-01-24 17:00:00 +8:00" --file_path="/data/dump_{}.data"
...

, "total_count": 89}
時間格式推薦是%y-%m-%d %h:%m:%s %z, 如2018-01-24 17:00:00+8:00, 但也支援其他合法的時間格式, 例如:jan 01 2018 10:10:10+8:00命令pull_log_dump傳入的時間範圍, 需要注意幾點:

這裡的時間指的是伺服器接受日誌的時間

時間的範圍是左閉右開[), 上面例子中16:00:00伺服器接受到的日誌會被拉取到, 但是17:00:00伺服器所接受到的日誌不會.

有時我們不關心資料的某一邊界, 例如期望獲得所有儲存的資料到某一天日期位置. 或者獲取從某一天開始到目前儲存的資料為止的話, 就可以使用特殊游標.

特殊游標包括beginend. 例如:

aliyunlog log pull_log_dump --project_name="p1" --logstore_name="l1" --shard_id=3 --from_time="begin" --to_time="2018-01-24 17:00:00+8:00"
這裡拉取所有2018-01-24 17:00:00+8:00之前伺服器接收到的日誌.

又例如:

aliyunlog log pull_log_dump --project_name="p1" --logstore_name="l1" --shard_id=3 --from_time="2018-01-24 17:00:00+8:00" --to_time="end"
這裡拉取所有2018-01-24 17:00:00+8:00開始及之後伺服器接收到的日誌.

JUC併發工具使用案例

包含以下併發工具的呼叫 synchronized 同步鎖 reentrantlock 同步鎖 condition 執行緒通訊 reentrantreadwritelock 讀寫鎖 讀寫分離 stampedlock 讀寫鎖 悲觀 樂觀 讀的同時可以寫 atomicinteger 原子性遞增 longa...

CLI使用案例5 在配置檔案中簡單配置多個賬戶

cli的每個區域都要配置乙個賬戶,是不是覺得有些繁瑣?訪問秘鑰不想到處複製,而想集中管理?這裡介紹一種通過配置檔案,簡單的配置多個賬戶的方式。在配置cli裡介紹了詳細的cli配置方法。如果要配置多個賬戶,可以通過cli的configure命令配置多個賬戶 aliyunlog configure ac...

乙個Vue購物車的小案例 不使用CLI

charset utf 8 vue 購物車title rel stylesheet href cart.css head v if books.length th 書籍名稱th 出版日期th th 數量th 操作th tr thead v for item,index in books td td ...