
radarbase/radar-output-restructure,则指定topics: <topicName>: deduplication: distinctFields: [key.sourceId, value.time]。
另一个选项是以压缩形式输出数据。所有文件将获得gz后缀,可使用GZIP解码器解压缩。注意,对于少量记录,压缩可能会增加文件大小。也支持Zip压缩。
radar-output-restructure --compression gzip --nameservice <hdfs_node> --output-directory <output_folder> <input_path_1> [<input_path_2> ...]
该工具假设运行有Redis服务。有关配置选项,请参见示例restructure.yml。
source和target属性包含资源描述。源可以有两种类型:hdfs和s3:
yamlsource: type: s3 # hdfs 或 s3 s3: endpoint: http://localhost:9000 # 也可使用AWS S3端点 bucket: radar accessToken: minioadmin secretKey: minioadmin # 仅当源类型为hdfs时需要 hdfs: nameNodes: [hdfs-namenode-1, hdfs-namenode-2]
目标类似,但不支持HDFS,支持本地文件系统(local)或s3。
yamltarget: type: s3 # s3 或 local s3: endpoint: http://localhost:9000 # 本地minio使用http://localhost:9000,AWS S3使用[***] bucket: out accessToken: minioadmin secretKey: minioadmin # 仅当目标类型为local时需要 local: userId: 1000 # 写入数据的用户ID,默认-1使用当前用户 groupId: 100 # 写入数据的组ID,默认-1使用当前用户
也可通过环境变量提供密钥:
| 环境变量 | 对应值 |
|---|---|
SOURCE_S3_ACCESS_TOKEN | source.s3.accessToken |
SOURCE_S3_SECRET_KEY | source.s3.secretKey |
SOURCE_AZURE_USERNAME | source.azure.username |
SOURCE_AZURE_PASSWORD | source.azure.password |
SOURCE_AZURE_ACCOUNT_NAME | source.azure.accountName |
SOURCE_AZURE_ACCOUNT_KEY | source.azure.accountKey |
SOURCE_AZURE_SAS_TOKEN | source.azure.sasToken |
REDIS_URL | redis.url |
将上述变量中的SOURCE替换为TARGET可配置目标存储。
清理器进程可自动删除源文件。它检查文件是否已提取且超过配置的老化时间。默认情况下未启用此功能。可在cleaner配置部分中配置:
yamlcleaner: # 启用清理旧源文件 enable: true # 清理数据的间隔(秒) interval: 1260 # 21分钟 # 源文件被视为旧文件的天数 age: 7
也可使用--cleaner命令行标志启用清理器。要将清理器作为与输出重组分离的独立进程运行,启动配置属性worker: enable: false或命令行参数--no-restructure的进程。
要将输出生成器作为定期轮询HDFS目录的服务运行,添加--service标志,并可选择使用--interval标志调整轮询间隔,或使用相应的配置文件参数。
该工具至少需要Java JDK 8。使用以下命令构建发行版:
shell./gradlew build
并将包安装到/usr/local,例如:
shellsudo mkdir -p /usr/local sudo tar -xzf build/distributions/radar-output-restructure-1.2.0.tar.gz -C /usr/local --strip-components=1
现在radar-output-restructure命令应该可用。
要实现替代存储路径、存储驱动程序或存储格式,将自定义JAR放在$APP_DIR/lib/radar-output-plugins中。要加载它们,使用以下选项:
| 参数 | 基类 | 行为 | 默认值 |
|---|---|---|---|
paths: factory: ... | org.radarbase.output.path.RecordPathFactory | 创建输出路径名的工厂。 | ObservationKeyPathFactory |
format: factory: ... | org.radarbase.output.format.FormatFactory | 输出格式的工厂。 | FormatFactory |
compression: factory: ... | org.radarbase.output.compression.CompressionFactory | 数据压缩使用的工厂类。 | CompressionFactory |
相应的<type>: properties: {}配置参数可用于提供工厂的自定义配置。此配置将传递给Plugin#init(Map<String, String>)方法。

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务