专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像 官方专业版轩辕镜像 官方专业版官方专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 1072982923

radarbase/radar-output-restructure Docker 镜像 - 轩辕镜像

radar-output-restructure
radarbase/radar-output-restructure
将Kafka Connector输出的数据重组为RADAR-base导向的目录结构(projectId/userId/topic/date_hour.csv),按时间(UTC)提取日期和小时,支持HDFS/S3源与本地/S3目标存储,通过Redis管理锁定和偏移量,适用于数据结构化整理与存储。
0 次下载
🚀 稳定镜像源 = 更少宕机 + 更低运维成本
中文简介版本下载
🚀 稳定镜像源 = 更少宕机 + 更低运维成本

Restructure Kafka 连接器输出文件

![构建状态]([***]

Kafka Connector流式传输的数据将转换为RADAR-base导向的输出目录,按项目、用户和收集日期组织。它支持由RADAR HDFS 接收器连接器写入的数据,这些数据仅基于主题名称流式传输到文件中。此工具将该输出转换为本地目录结构:projectId/userId/topic/date_hour.csv。日期和小时从每条记录的time字段提取,并以UTC时间格式化。该工具包含在RADAR-Docker仓库的dcompose/radar-cp-hadoop-stack/bin/hdfs-restructure脚本中。

升级说明

升级到1.2.0版本时,请遵循以下说明:

  • 使用本地目标存储时,确保:
    1. 存储可由用户101写入,或使用docker命令行标志--user更改运行时用户为可写入目标存储的用户;
    2. 本地存储属性userId和groupId设置为可写入目标存储的值。

从0.6.0版本升级到1.0.0或更高版本时,请遵循以下说明:

  • 该工具现在依赖Redis进行锁定和偏移量管理。请安装Redis或使用docker-compose.yml文件启动它。
  • 编写restructure.yml配置文件以匹配0.6.0版本使用的设置:
    • HDFS设置已移至source。在nameNodes属性中指定所有名称节点。name属性不再使用。

      yaml
      source:
        type: hdfs
        hdfs:
          nameNodes: [hdfs-namenode]
      
    • 添加redis块:

      yaml
      redis:
        uri: redis://localhost:6379
      
    • 当radar-output处理主题时,偏移量会计将自动从基于文件的存储迁移到Redis条目。请在偏移量目录为空之前不要删除它。

    • 存储设置已移至target块。使用本地输出目录:

      yaml
      target:
        type: local
        local:
          # 写入数据的用户ID。仅当显式将运行时用户设置为root时才有效。
          userId: 123
          # 写入数据的组ID。仅当显式将运行时用户设置为root时才有效。
          groupId: 123
      

      使用S3StorageDriver时,使用以下配置:

      yaml
      target:
        type: s3
        s3:
          endpoint: [***]  # 本地minio使用http://localhost:9000
          accessToken: ABA...
          secretKey: CSD...
          bucket: myBucketName
      

从0.5.x或更早版本升级到0.6.0版本时,请遵循以下说明:

  • 编写restructure.yml配置文件以匹配0.5.x版本使用的命令行设置。
  • 如有需要,将offsets.csv的所有条目移动到offsets/<topic>.csv中的每个主题文件。首先进入输出目录,然后运行bin/migrate-offsets-to-0.6.0.sh脚本。

Docker使用

该工具以Docker镜像radarbase/radar-output-restructure提供。镜像的入口点是当前应用程序。因此,在所有使用命令中,将radar-output-restructure替换为例如:

shell
docker run --rm -t --network hadoop -v "$PWD/output:/output" radarbase/radar-output-restructure:1.2.0 -n hdfs-namenode -o /output /myTopic

命令行使用

安装应用程序后,可按如下方式使用:

shell
radar-output-restructure --nameservice <hdfs_node> --output-directory <output_folder> <input_path_1> [<input_path_2> ...]

或使用简短形式:

shell
radar-output-restructure -n <hdfs_node> -o <output_folder> <input_path_1> [<input_path_2> ...]

要显示使用方法和所有可用选项,可使用帮助选项:

shell
radar-output-restructure --help

注意,上述输出中前面带*的选项是运行应用程序所需的必填项。此外,可以有多个输入路径从中读取文件。例如 - /topicAndroidNew/topic1 /topicAndroidNew/topic2 ...。至少提供一个输入路径。

每个参数以及更多选项都可以在配置文件中提供。配置文件的默认名称为restructure.yml。请参考当前目录中的restructure.yml了解所有可用选项。可使用-F标志指定替代文件。

文件格式

默认情况下,输出数据为CSV格式。如果需要JSON格式,可使用以下命令:

shell
radar-output-restructure --format json --nameservice <hdfs_node> --output-directory <output_folder>  <input_path_1> [<input_path_2> ...]

默认情况下,写入后不 deduplicate 文件记录。要启用此行为,指定选项--deduplicate或-d。由于Biovotion数据的问题,默认情况下此选项为false。启用前请参阅issue #16。也可在配置文件中按主题启用或禁用去重。如果需要使用部分字段进行去重(例如,仅sourceId和time定义唯一记录,且仅保留具有重复值的最后一条记录),则指定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

该工具假设运行有Redis服务。有关配置选项,请参见示例restructure.yml。

源和目标

source和target属性包含资源描述。源可以有两种类型:hdfs和s3:

yaml
source:
  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。

yaml
target:
  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_TOKENsource.s3.accessToken
SOURCE_S3_SECRET_KEYsource.s3.secretKey
SOURCE_AZURE_USERNAMEsource.azure.username
SOURCE_AZURE_PASSWORDsource.azure.password
SOURCE_AZURE_ACCOUNT_NAMEsource.azure.accountName
SOURCE_AZURE_ACCOUNT_KEYsource.azure.accountKey
SOURCE_AZURE_SAS_TOKENsource.azure.sasToken
REDIS_URLredis.url

将上述变量中的SOURCE替换为TARGET可配置目标存储。

清理器

清理器进程可自动删除源文件。它检查文件是否已提取且超过配置的老化时间。默认情况下未启用此功能。可在cleaner配置部分中配置:

yaml
cleaner:
  # 启用清理旧源文件
  enable: true
  # 清理数据的间隔(秒)
  interval: 1260  # 21分钟
  # 源文件被视为旧文件的天数
  age: 7

也可使用--cleaner命令行标志启用清理器。要将清理器作为与输出重组分离的独立进程运行,启动配置属性worker: enable: false或命令行参数--no-restructure的进程。

服务模式

要将输出生成器作为定期轮询HDFS目录的服务运行,添加--service标志,并可选择使用--interval标志调整轮询间隔,或使用相应的配置文件参数。

本地构建

该工具至少需要Java JDK 8。使用以下命令构建发行版:

shell
./gradlew build

并将包安装到/usr/local,例如:

shell
sudo 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>)方法。

查看更多 radar-output-restructure 相关镜像 →
newrelic/newrelic-fluentbit-output logo
newrelic/newrelic-fluentbit-output
包含New Relic输出插件的基础容器,适用于Kubernetes日志集成及自定义部署。
31B+ pulls
上次更新:未知
grafana/logstash-output-loki logo
grafana/logstash-output-loki
Logstash插件,用于将日志发送到Loki。
41M+ pulls
上次更新:未知
remnux/radare2 logo
remnux/radare2
Radare2是一款支持多种可执行格式和架构的逆向工程框架。
38500K+ pulls
上次更新:未知
hashicorp/vault-radar logo
hashicorp/vault-radar
暂无描述
7.8K pulls
上次更新:未知
hashicorp/vault-radar-mcp-server logo
hashicorp/vault-radar-mcp-server
Vault Radar MCP Server是一个用于安全监控、漏洞管理和资产跟踪的管理控制平台服务器,提供集中化的安全态势管理、威胁检测及合规性报告功能。
1.8K pulls
上次更新:未知
radare/radare2 logo
radare/radare2
类UNIX逆向工程框架及命令行工具集,提供逆向工程功能与工具支持。
26500K+ pulls
上次更新:未知

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

MacOS OrbStack

MacOS OrbStack 容器配置

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
radarbase/radar-output-restructure
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
咨询镜像拉取问题请 提交工单,官方技术交流群:1072982923
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
咨询镜像拉取问题请提交工单,官方技术交流群:
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.