要获得与亚马逊 Timestream 类似的功能 LiveAnalytics,可以考虑适用于 InfluxDB 的亚马逊 Timestream。适用于 InfluxDB 的 Amazon Timestream 提供简化的数据摄取和个位数毫秒级的查询响应时间,以实现实时分析。点击此处了解更多信息。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
迁移验证脚本
验证脚本比较源表(Amazon Timestream 或 Amazon Athena)和 InfluxDB 存储桶度量之间的逻辑 row/point 计数,以及可选的时间范围规范。该工具通过对两个系统运行并行查询和比较结果,帮助确保迁移过程中的数据完整性。
验证脚本支持对 Athena 中导出的数据集或者原始 Timestream 数据库/表进行查询。请注意,如果数据在导出后写入,则直接查询 Timestream 可能会导致比较结果不准确。验证脚本可在摄取开始后随时运行。该脚本首先轮询 InfluxDB 的指标端点,等待 WAL(写入前日志)
先决条件和安装
请参阅迁移验证脚本自述文件
用法
python validator.py [options]
所有设置均可通过 CLI 标志或环境变量进行配置。请参阅存储库中的 example.env 文件。
有关故障排除和建议,请参阅迁移验证脚本自述文件
清除
完成迁移后, resources/artifacts 将创建以下内容:
-
一个 Athena 表,包含数据的时间流。 LiveAnalytics 默认情况下,这为默认 Athena 数据库中的 <Timestream database name>_<Timestream table name>。
-
Athena 表,包含转换后的行协议数据。默认情况下,这为默认 Athena 数据库中的 lp_<Athena table name>。
-
您的 S3 存储桶中的线路协议数据,路径为 <Timestream database name><Timestream table name>//unload-<%y-%m-%d-%h: %M: %S>/。line-protocol-output
-
作为 Timestream LiveAnalytics 导出工具的一部分创建的已卸载数据。
-
已在您的 EC2 实例上下载数据和日志。
-
DynamoDB 表(如果作为导出时间 LiveAnalytics 流工具的一部分用于记录)。
清理 Athena 资源
要删除任何 Athena 表,请运行以下 Amazon CLI
aws glue delete-table \ --database-name <Athena database name> \ --name <Athena table name>
清理 S3 资源
要删除 S3 存储桶中的线路协议数据,请运行以下 Amazon CLI 命令,<S3 bucket name>替换为 S3 存储桶的名称、<Timestream database name> LiveAnalytics 数据库的时间流名称、<Timestream table name> LiveAnalytics 表的时间流名称以及构成 S3 存储桶中 <timestamp>unload-<%y-%m-%d-%h: %M: %> 路径的时间戳:%M: %> 路径:
aws s3 rm \ s3://<S3 bucket name>/<Timestream database name>/<Timestream table name>/unload-<timestamp>/line-protocol-output \ --recursive
要删除 S3 存储桶,请运行以下命令,将 <S3 bucket name> 替换为 S3 存储桶名称:
aws s3 delete-bucket --bucket <S3 bucket name>
清理 DynamoDB 资源
要删除 DynamoDB 表,请运行以下命令,将 <table name> 替换为要删除的 DynamoDB 表名称:
aws dynamodb delete-table --table-name <table name>