CLI使用案例2:轻松大并发地拉取大数据到本地-阿里云开发者社区

开发者社区> 成喆> 正文

CLI使用案例2:轻松大并发地拉取大数据到本地

简介: 当你需要把特定数据下载到本地时, 是否遇到一些困难: 1. 现在的Web控制台只能一页一页的下载? 2. SDK提供的接口需要用起来有些复杂, 例如游标怎么获取, 分区如何传入, 拉去数据后需要输出格式化? 如果是的, 你可能需要使用日志服务的CLI来轻松拉取大量数据到本地.
+关注继续查看

当你需要把特定数据下载到本地时, 是否遇到一些困难:

  1. 现在的Web控制台只能一页一页的下载?
  2. SDK提供的接口需要用起来有些复杂, 例如游标怎么获取, 分区如何传入, 拉去数据后需要输出格式化?

如果是的, 你可能需要使用日志服务的CLI来轻松拉取数据到本地.

大并发拉取日志

介绍

拉取数据(PullLog)指的是针对特定分区, 按照游标来消费日志, 游标指的是服务器接收到日志的时间.
拉取数据的特点是:

  1. 没有索引的数据也可以拉取.
  2. 按照分区粒度拉取, 每个分区游标互相无关.
  3. 速度快, 易并发, 且支持传输压缩.
  4. 拉取的数据按照服务器接受的时间排序.

并发下载

命令pull_log_dump针对下载做了优化,直接指定文件路径,即可将日志下载在本地。

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"

这里拉取从时间2018-01-24 16:00:00+8:002018-01-24 17:00:00+8:00并把数据下载本地,因为是并发,所以会存储在多个文件中,文件名根据/data/dump_{}.data中的{}替换成多个并发的数字(一般是分区号)。文件的内容格式为一行一个日志,例如:

{"k1":"a1", "k2":"a2"}
{"k1":"b1", "k2":"b2"}
...

下载完后会显示下载的文件列表以及日志数,例如:

{"files": {"/data/dump_1.data": 75, "/data/dump_2.data": 14}, "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传入的时间范围, 需要注意几点:

  1. 这里的时间指的是服务器接受日志的时间
  2. 时间的范围是左闭右开[), 上面例子中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开始及之后服务器接收到的日志.

进一步参考

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云Cloud Shell中使用日志服务CLI最佳实践
目前阿里云云命令行Cloud Shell已经部署日志服务CLI,免部署配置,一键管理日志服务资源与下载日志服务数据更轻松!
11440 0
获取使用ClickOnce部署的应用程序的版本号
引子 在编写使用ClickOnce部署的应用程序时,需要在程序的标题栏、软件变更记录、软件关于等页面读取显示当前的版本号。 之前很傻瓜的做法就是在Resource中维护一个string值,在使用到的地方读取,有更新修改Resource即可。
569 0
eclipse部署web项目至本地的tomcat但在webapps中找不到
一、发现问题 在eclipse中新建Dynamic Web Project,配置好本地的tomcat并写好代码后选择Run on Server,但运行后发现在tomcat的安装目录下的webapps并没有出现所建立的工程名字。   二、验证 很明显项目并没有自动部署到Tomcat的Webapps中而是部署在了别的容器中。在内置浏览器中输入http://localhost:8080/
1284 0
简析市场营销中的 六 大数据科学用例
阿里云数据中台专家简要分析当前市场营销中心的六大数据科学用例。
2069 0
数据预处理
数据清洗 缺失值处理: 拉格朗日插值法(当插值节点增加或删除时插值多项式也会变化) #拉格朗日插值代码 import pandas as pd #导入数据分析库Pandas from scipy.
1145 0
使用并发集合
并发集合(线程安全),既然是并发集合。那就要知道什么是并发。
9 0
SpringBoot2 整合 ClickHouse数据库,实现高性能数据查询分析
本文源码:GitHub·点这里 || GitEE·点这里 一、ClickHouse简介 1、基础简介 Yandex开源的数据分析的数据库,名字叫做ClickHouse,适合流式或批次入库的时序数据。
1623 0
+关注
成喆
不忘初心 方得始终
101
文章
2
问答
来源圈子
更多
阿里云存储基于飞天盘古2.0分布式存储系统,产品包括对象存储OSS、块存储Block Storage、共享文件存储NAS、表格存储、日志存储与分析、归档存储及混合云存储等,充分满足用户数据存储和迁移上云需求,连续三年跻身全球云存储魔力象限四强。
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载