入湖入仓,数据传输管道。开源软件Airbyte中文社区
微信号:AirbyteCN
QQ群:114917858
airbyte日志输出说明
-
总览
本教程将介绍如何浏览 Airbyte Workspace 文件夹。
如果您需要浏览在 docker 卷上Airbyte server 和 workers 存储的额外数据,可以参考本教程,它们可能无法通过 web 界面访问。
浏览日志
当您在 Airbyte 中运行 Sync Job 时,您可以通过 web 查看日志,如下所示。
识别 Workspace ID
在下面的屏幕截图中,您可以注意到突出显示的蓝色框显示用于此Sync Job的选定"尝试"的 ID 号。
在这种情况下,Job在/tmp/workspace/4/2/文件夹中运行,您可以看到当前选择了第三次尝试的选项卡(第一次尝试是/tmp/workspace/4/0/)。
右侧红色圆圈中突出显示的按钮将允许您下载 log 文件。
然而,实际上在同一个工作区文件夹中记录了很多文件。因此,我们可能希望更深入地查看这些文件夹,并更好地了解 Airbyte 正在运行的内容。理解 Docker run 命令
我们把日志再向下滚动一点,我们可以看到一些以 docker run 开头的命令,像下面这样:
docker run --rm -i -v airbyte_workspace:/data -v /tmp/airbyte_local:/local -w /data/2/2 --network host ...
从这里,我们可以看到 Airbyte 调用
-v
选项将名为airbyte_workspace
的 docker 卷挂载到容器的/data
目录。参考 Docker 卷的文档, 我们可以检查和操作这些卷中的持久化数据。
通过UNIX Shell 浏览 docker 卷的内容
例如,我们可以创建一个容器,然后将卷挂载到我们新建的容器,进入容器我们就可以看见卷的内容, 这里我们是用 busybox 镜像。
docker run -it --rm --volume airbyte_workspace:/data busybox
上一步我们将进入到是
sh
的shell环境中,它由我们刚创建的容器提供。通过它我们就可以浏览卷里面的数据,上一步我们将卷挂载到了/data
目录,接下来我们再就可以在这个目录浏览到数据了。例如,我们执行下列命令ls /data/9/2/
示例输出:
catalog.json normalize tap_config.json logs.log singer_rendered_catalog.json target_config.json
通过本地 shell 浏览 docker 卷的内容
或者,如果您不想转换到 docker 镜像内的 shell ,您也可以通过 docker 来代理执行命令,将结果输出到当前 shell 环境,例如:
docker run -it --rm --volume airbyte_workspace:/data busybox ls /data/9/2
示例输出:
catalog.json singer_rendered_catalog.json logs.log tap_config.json normalize target_config.json
读取 Catalog.json
例如,我们经常会需要读取 catalog 的内容。这种情况下我们可以像上面的例子一样,将数据挂载到容器,然后使用cat命令查看。
docker run -it --rm --volume airbyte_workspace:/data busybox cat /data/9/2/catalog.json
示例输出:
{"streams":[{"stream":{"name":"exchange_rate","json_schema":{"type":"object","properties":{"CHF":{"type":"number"},"HRK":{"type":"number"},"date":{"type":"string"},"MXN":{"type":"number"},"ZAR":{"type":"number"},"INR":{"type":"number"},"CNY":{"type":"number"},"THB":{"type":"number"},"AUD":{"type":"number"},"ILS":{"type":"number"},"KRW":{"type":"number"},"JPY":{"type":"number"},"PLN":{"type":"number"},"GBP":{"type":"number"},"IDR":{"type":"number"},"HUF":{"type":"number"},"PHP":{"type":"number"},"TRY":{"type":"number"},"RUB":{"type":"number"},"HKD":{"type":"number"},"ISK":{"type":"number"},"EUR":{"type":"number"},"DKK":{"type":"number"},"CAD":{"type":"number"},"MYR":{"type":"number"},"USD":{"type":"number"},"BGN":{"type":"number"},"NOK":{"type":"number"},"RON":{"type":"number"},"SGD":{"type":"number"},"CZK":{"type":"number"},"SEK":{"type":"number"},"NZD":{"type":"number"},"BRL":{"type":"number"}}},"supported_sync_modes":["full_refresh"],"default_cursor_field":[]},"sync_mode":"full_refresh","cursor_field":[]}]}
从 docker 卷导出catalog
如果您想将 catalog 从 docker 卷中到出来,您可以再您的主机上执行下列命令:
docker cp airbyte-server:/tmp/workspace/9/2/catalog.json . cat catalog.json
在K8S环境浏览数据文件
如果您的 Airbyte 运行在 k8s 上, 使用以下命令来浏览文件并将其复制到本地。
选择一个您感兴趣的 pod 替换 podname,将 namespace 替换为您 airbyte 运行的 namespace。#替换podname 和 namespace kubectl exec -it <pod name> -n <namespace> -c main bash #例子 kubectl exec -it destination-bigquery-worker-3607-0-chlle -n jobs -c main bash root@destination-bigquery-worker-3607-0-chlle:/config# ls FINISHED_UPLOADING destination_catalog.json destination_config.json
想将pod内的文件复制到本地,可以执行下列命令:
#替换podname 和 namespace kubectl cp <namespace>/<pod-name>:/config/destination_catalog.json ./catalog.json #例子 kubectl cp jobs/normalization-worker-3605-0-sxtox:/config/destination_catalog.json ./catalog.json cat ./catalog.json
使用 CSV 或者 JSON 作为目标的:检查本地数据目录
如果您使用 CSV 或者 JSON 作为连接(管道)的目录,Airbyte 会将包含数据的结果文件写入容器的特殊目录
/local/
中。默认情况下,这个卷会挂载到宿主机的/tmp/airbyte_local
。因此,您可以到到您部署 Airbyte 宿主机的/tmp/airbyte_local目录,浏览产看对应文件。::: 警告
请确保 Docker Desktop 可以访问/tmp目录(如果使用mac系统,还需要确保docker desktop对 /private 目录具有权限,因为 /tmp 有一个指向 /private 的符号链接,否则它将无法工作)。
:::或者,您也可以通过 docker 进行查看:
#!/usr/bin/env bash echo "In the container:" docker run -it --rm -v /tmp/airbyte_local:/local busybox find /local echo "" echo "On the host:" find /tmp/airbyte_local
示例输出:
In the container: /local /local/data /local/data/exchange_rate_raw.csv On the host: /tmp/airbyte_local /tmp/airbyte_local/data /tmp/airbyte_local/data/exchange_rate_raw.csv