Skip to content

Commit fc9415c

Browse files
🌐 Translate index.md to Simplified-Chinese
1 parent 35a70c8 commit fc9415c

File tree

1 file changed

+38
-38
lines changed

1 file changed

+38
-38
lines changed

docs/cn/tutorials/load/automating-json-log-loading-with-vector.md

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,44 @@
11
---
2-
title: 使用 Vector 自动化 JSON 日志加载
2+
title: 使用 Vector 自动加载 JSON 日志
33
---
44

5-
在本教程中,我们将模拟在本地生成日志,使用 [Vector](https://vector.dev/) 收集它们,将它们存储在 S3 中,并使用计划任务自动将它们导入到 Databend Cloud
5+
在本教程中,我们将模拟在本地生成日志,使用 [Vector](https://vector.dev/) 收集日志,将其存储到 S3,并通过定时任务自动将其摄取到 Databend Cloud。
66

7-
![使用 Vector 自动化 JSON 日志加载](@site/static/img/documents/tutorials/vector-tutorial.png)
7+
![使用 Vector 自动加载 JSON 日志](@site/static/img/documents/tutorials/vector-tutorial.png)
88

9-
## 开始之前
9+
## 准备工作
1010

11-
在开始之前,请确保您已准备好以下先决条件
11+
开始前,请确保已准备好以下先决条件
1212

13-
- **Amazon S3 Bucket**: 一个 S3 bucket,用于存储 Vector 收集的日志。[了解如何创建 S3 bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)
14-
- **AWS 凭证**: AWS Access Key ID 和 Secret Access Key,具有访问您的 S3 bucket 的足够权限。[管理您的 AWS 凭证](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys)
15-
- **AWS CLI**: 确保已安装 [AWS CLI](https://aws.amazon.com/cli/) 并配置了访问您的 S3 bucket 的必要权限
16-
- **Docker**: 确保您的本地机器上已安装 [Docker](https://www.docker.com/)因为它将用于设置 Vector。
13+
- **Amazon S3 存储桶**:用于存放 Vector 收集的日志。 [了解如何创建 S3 存储桶](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)
14+
- **AWS 凭证**:具备访问 S3 存储桶权限的 AWS Access Key ID 和 Secret Access Key[管理 AWS 凭证](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys)
15+
- **AWS CLI**确保已安装 [AWS CLI](https://aws.amazon.com/cli/) 并配置好访问 S3 存储桶所需的权限
16+
- **Docker**:确保本地已安装 [Docker](https://www.docker.com/)用于部署 Vector。
1717

18-
## 步骤 1:在 S3 Bucket 中创建目标文件夹
18+
## 第一步:在 S3 存储桶中创建目标文件夹
1919

20-
要存储 Vector 收集的日志,请在您的 S3 bucket 中创建一个名为 logs 的文件夹。在本教程中,我们使用 `s3://databend-doc/logs/` 作为目标位置
20+
为存放 Vector 收集的日志,请在 S3 存储桶中创建一个名为 logs 的文件夹。本教程使用 `s3://databend-doc/logs/` 作为目标路径
2121

22-
此命令在 `databend-doc` bucket 中创建一个名为 `logs` 的空文件夹:
22+
以下命令在 databend-doc 存储桶中创建名为 logs 的空文件夹:
2323

2424
```bash
2525
aws s3api put-object --bucket databend-doc --key logs/
2626
```
2727

28-
## 步骤 2:创建本地日志文件
28+
## 第二步:创建本地日志文件
2929

30-
通过创建本地日志文件来模拟日志生成。在本教程中,我们使用 `/Users/eric/Documents/logs/app.log` 作为文件路径。
30+
通过创建本地日志文件来模拟日志生成。本教程使用 `/Users/eric/Documents/logs/app.log` 作为文件路径。
3131

32-
将以下 JSON 行添加到文件中以表示示例日志事件
32+
将以下 JSON 行添加到文件中,作为示例日志事件
3333

3434
```json title='app.log'
3535
{"user_id": 1, "event": "login", "timestamp": "2024-12-08T10:00:00Z"}
3636
{"user_id": 2, "event": "purchase", "timestamp": "2024-12-08T10:05:00Z"}
3737
```
3838

39-
## 步骤 3:配置并运行 Vector
39+
## 第三步:配置并运行 Vector
4040

41-
1. 在您的本地机器上创建一个名为 `vector.yaml` 的 Vector 配置文件。在本教程中,我们在 `/Users/eric/Documents/vector.yaml` 中创建它,内容如下:
41+
1. 在本地创建名为 `vector.yaml` 的 Vector 配置文件。本教程将其放在 `/Users/eric/Documents/vector.yaml`,内容如下:
4242

4343
```yaml title='vector.yaml'
4444
sources:
@@ -63,16 +63,16 @@ sinks:
6363
- "extract_message"
6464
bucket: databend-doc
6565
region: us-east-2
66-
key_prefix: "logs/"
67-
content_type: "text/plain"
66+
key_prefix: "logs/"
67+
content_type: "text/plain"
6868
encoding:
69-
codec: "native_json"
69+
codec: "native_json"
7070
auth:
7171
access_key_id: "<your-access-key-id>"
7272
secret_access_key: "<your-secret-access-key>"
7373
```
7474
75-
2. 使用 Docker 启动 Vector,映射配置文件和本地日志目录
75+
2. 使用 Docker 启动 Vector,并映射配置文件和本地日志目录
7676
7777
```bash
7878
docker run \
@@ -84,35 +84,35 @@ docker run \
8484
timberio/vector:nightly-alpine
8585
```
8686

87-
3. 稍等片刻,然后检查是否有任何日志已同步到 S3 上的 `logs` 文件夹:
87+
3. 稍等片刻,然后检查日志是否已同步到 S3 logs 文件夹:
8888

8989
```bash
9090
aws s3 ls s3://databend-doc/logs/
9191
```
9292

93-
如果日志文件已成功同步到 S3,您应该看到类似于以下的输出
93+
若日志文件已成功同步到 S3,将看到类似以下输出
9494

9595
```bash
9696
2024-12-10 15:22:13 0
9797
2024-12-10 17:52:42 112 1733871161-7b89e50a-6eb4-4531-8479-dd46981e4674.log.gz
9898
```
9999

100-
您现在可以从您的 bucket 下载同步的日志文件
100+
现在可从存储桶下载已同步的日志文件
101101

102102
```bash
103103
aws s3 cp s3://databend-doc/logs/1733871161-7b89e50a-6eb4-4531-8479-dd46981e4674.log.gz ~/Documents/
104104
```
105105

106-
与原始日志相比,同步的日志采用 NDJSON 格式,每个记录都包装在一个外部 `log` 字段中:
106+
与原始日志相比,同步后的日志为 NDJSON 格式,每条记录被包裹在外层 `log` 字段中:
107107

108108
```json
109109
{"log":{"event":"login","timestamp":"2024-12-08T10:00:00Z","user_id":1}}
110110
{"log":{"event":"purchase","timestamp":"2024-12-08T10:05:00Z","user_id":2}}
111111
```
112112

113-
## 步骤 4:在 Databend Cloud 中创建任务
113+
## 第四步:在 Databend Cloud 中创建任务
114114

115-
1. 打开一个 worksheet,并创建一个外部 Stage,链接到您的 bucket 中的 `logs` 文件夹
115+
1. 打开工作表,创建一个指向存储桶中 logs 文件夹的外部 Stage
116116

117117
```sql
118118
CREATE STAGE mylog 's3://databend-doc/logs/' CONNECTION=(
@@ -121,7 +121,7 @@ CREATE STAGE mylog 's3://databend-doc/logs/' CONNECTION=(
121121
);
122122
```
123123

124-
成功创建 Stage 后,您可以列出其中的文件
124+
Stage 创建成功后,可列出其中的文件
125125

126126
```sql
127127
LIST @mylog;
@@ -133,7 +133,7 @@ LIST @mylog;
133133
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
134134
```
135135

136-
2. 创建一个表,其列映射到日志中的字段
136+
2. 创建与日志字段对应的表
137137

138138
```sql
139139
CREATE TABLE logs (
@@ -143,21 +143,21 @@ CREATE TABLE logs (
143143
);
144144
```
145145

146-
3. 创建一个计划任务,将日志从外部 Stage 加载到 `logs` 表中
146+
3. 创建定时任务,将日志从外部 Stage 加载到 logs
147147

148148
```sql
149149
CREATE TASK IF NOT EXISTS myvectortask
150150
WAREHOUSE = 'eric'
151151
SCHEDULE = 1 MINUTE
152152
SUSPEND_TASK_AFTER_NUM_FAILURES = 3
153153
AS
154-
COPY INTO logs
154+
COPY INTO logs
155155
FROM (
156156
SELECT $1:log:event, $1:log:timestamp, $1:log:user_id
157157
FROM @mylog/
158158
)
159-
FILE_FORMAT = (TYPE = NDJSON, COMPRESSION = AUTO)
160-
MAX_FILES = 10000
159+
FILE_FORMAT = (TYPE = NDJSON, COMPRESSION = AUTO)
160+
MAX_FILES = 10000
161161
PURGE = TRUE;
162162
```
163163

@@ -167,7 +167,7 @@ PURGE = TRUE;
167167
ALTER TASK myvectortask RESUME;
168168
```
169169

170-
稍等片刻,然后检查日志是否已加载到表中
170+
稍等片刻,检查日志是否已加载到表中
171171

172172
```sql
173173
SELECT * FROM logs;
@@ -180,16 +180,16 @@ SELECT * FROM logs;
180180
└──────────────────────────────────────────────────────────┘
181181
```
182182

183-
如果您现在运行 `LIST @mylog;`您将看不到任何列出的文件。这是因为该任务配置为 `PURGE = TRUE`这会在加载日志后从 S3 中删除同步的文件
183+
此时若运行 `LIST @mylog;`将看不到任何文件。这是因为任务配置了 `PURGE = TRUE`加载日志后会从 S3 删除已同步的文件
184184

185-
现在,让我们模拟在本地日志文件 `app.log` 中生成另外两个日志
185+
现在,让我们在本地日志文件 `app.log` 中再模拟生成两条日志
186186

187187
```bash
188188
echo '{"user_id": 3, "event": "logout", "timestamp": "2024-12-08T10:10:00Z"}' >> /Users/eric/Documents/logs/app.log
189189
echo '{"user_id": 4, "event": "login", "timestamp": "2024-12-08T10:15:00Z"}' >> /Users/eric/Documents/logs/app.log
190190
```
191191

192-
稍等片刻,让日志同步到 S3(新文件应出现在 `logs` 文件夹中)。然后,计划任务会将新日志加载到表中。如果您再次查询该表,您将找到这些日志
192+
稍等片刻,日志将同步到 S3(logs 文件夹中会出现新文件)。随后定时任务会把新日志加载到表中。再次查询表,即可看到这些日志
193193

194194
```sql
195195
SELECT * FROM logs;
@@ -202,4 +202,4 @@ SELECT * FROM logs;
202202
│ login │ 2024-12-08 10:00:001
203203
│ purchase │ 2024-12-08 10:05:002
204204
└──────────────────────────────────────────────────────────┘
205-
```
205+
```

0 commit comments

Comments
 (0)