|
| 1 | +--- |
| 2 | +title: QuickStart |
| 3 | +--- |
| 4 | + |
| 5 | +Databend 快速入门:5 分钟体验 Databend |
| 6 | +本指南将帮助您快速设置 Databend、连接到它并执行基本的数据导入。 |
| 7 | + |
| 8 | +## 1. 使用 Docker 启动 Databend |
| 9 | +运行以下命令以在容器中启动 Databend: |
| 10 | + |
| 11 | +``` |
| 12 | +docker run -d \ |
| 13 | + --name databend \ |
| 14 | + --network host \ |
| 15 | + -e MINIO_ENABLED=true \ |
| 16 | + -e QUERY_DEFAULT_USER=databend \ |
| 17 | + -e QUERY_DEFAULT_PASSWORD=databend \ |
| 18 | + -v minio_data_dir:/var/lib/minio \ |
| 19 | + --restart unless-stopped \ |
| 20 | + datafuselabs/databend |
| 21 | +``` |
| 22 | +检查 Databend 是否成功运行: |
| 23 | + |
| 24 | +``` |
| 25 | +docker logs -f databend |
| 26 | +``` |
| 27 | +等待直到您看到日志表明 Databend 和 MinIO 已准备就绪。 |
| 28 | + |
| 29 | +## 2. 连接到 Databend |
| 30 | +安装 bendsql (Databend CLI): |
| 31 | + |
| 32 | +``` |
| 33 | +curl -fsSL https://repo.databend.com/install/bendsql.sh | bash |
| 34 | +echo "export PATH=$PATH:~/.bendsql/bin" >>~/.bash_profile |
| 35 | +source ~/.bash_profile |
| 36 | +``` |
| 37 | + |
| 38 | +连接到 Databend: |
| 39 | +``` |
| 40 | +bendsql -udatabend -pdatabend |
| 41 | +``` |
| 42 | + |
| 43 | +## 3. 执行基本数据导入 |
| 44 | +### 步骤 1:创建外部 Bucket (myupload) |
| 45 | +安装 mc (MinIO client) 并创建一个 bucket: |
| 46 | + |
| 47 | +``` |
| 48 | +wget https://dl.min.io/client/mc/release/linux-amd64/mc |
| 49 | +sudo cp mc /usr/local/bin/ && sudo chmod +x /usr/local/bin/mc |
| 50 | +mc alias set myminio http://localhost:9000 minioadmin minioadmin |
| 51 | +mc mb myminio/myupload |
| 52 | +mc ls myminio |
| 53 | +``` |
| 54 | +预期输出: |
| 55 | +``` |
| 56 | +[0001-01-01 08:05:43 LMT] 0B databend/ |
| 57 | +[2025-04-12 08:43:59 CST] 0B myupload/ |
| 58 | +``` |
| 59 | + |
| 60 | +### 步骤 2:生成 CSV 并上传到 myupload |
| 61 | +``` |
| 62 | +echo -e "id,name,age,city\n1,John,32,New York\n2,Emma,28,London\n3,Liam,35,Paris\n4,Olivia,40,Berlin\n5,Noah,29,Tokyo" > data.csv |
| 63 | +mc cp data.csv myminio/myupload/ |
| 64 | +mc ls myminio/myupload/ |
| 65 | +``` |
| 66 | +### 步骤 3:创建外部 Stage 并检查数据 |
| 67 | +在 bendsql 中运行: |
| 68 | +``` |
| 69 | +CREATE STAGE mystage 's3://myupload' |
| 70 | +CONNECTION=( |
| 71 | + endpoint_url='http://127.0.0.1:9000', |
| 72 | + access_key_id='minioadmin', |
| 73 | + secret_access_key='minioadmin', |
| 74 | + region='us-east-1' |
| 75 | +); |
| 76 | +``` |
| 77 | +显示外部 Stage @mystage 中的文件: |
| 78 | +``` |
| 79 | +LIST @mystage; |
| 80 | +``` |
| 81 | +| name | size | md5 | last_modified | creator | |
| 82 | +|----------|--------|-------------------|-----------------------|-------------| |
| 83 | +| String | UInt64 | Nullable(String) | String | Nullable(String) | |
| 84 | +| data.csv | 104 | "a27fa15258911f534fb795a8c64e05d4" | 2025-04-12 00:51:11.015 +0000 | NULL | |
| 85 | + |
| 86 | +预览 CSV 数据: |
| 87 | +``` |
| 88 | +SELECT $1, $2, $3, $4 FROM @mystage/data.csv (FILE_FORMAT=>'CSV') LIMIT 10; |
| 89 | +``` |
| 90 | +| \$1 | \$2 | \$3 | \$4 | |
| 91 | +|-------------------|-------------------|-------------------|-------------------| |
| 92 | +| Nullable(String) | Nullable(String) | Nullable(String) | Nullable(String) | |
| 93 | +| id | name | age | city | |
| 94 | +| 1 | John | 32 | New York | |
| 95 | +| 2 | Emma | 28 | London | |
| 96 | +| 3 | Liam | 35 | Paris | |
| 97 | +| 4 | Olivia | 40 | Berlin | |
| 98 | +| 5 | Noah | 29 | Tokyo | |
| 99 | + |
| 100 | + |
| 101 | +### 步骤 4:创建表并加载数据 |
| 102 | +``` |
| 103 | +CREATE DATABASE wubx; |
| 104 | +USE wubx; |
| 105 | +
|
| 106 | +CREATE TABLE t_person ( |
| 107 | + id INT, |
| 108 | + name VARCHAR, |
| 109 | + age INT UNSIGNED, |
| 110 | + city VARCHAR |
| 111 | +); |
| 112 | +
|
| 113 | +COPY INTO t_person FROM @mystage PATTERN='.*[.]csv' FILE_FORMAT=(TYPE=CSV, SKIP_HEADER=1); |
| 114 | +
|
| 115 | +``` |
| 116 | + |
| 117 | +| File | Rows_loaded | Errors_seen | First_error | First_error_line | |
| 118 | +|-----------|-------------|-------------|------------------|------------------| |
| 119 | +| String | Int32 | Int32 | Nullable(String) | Nullable(Int32) | |
| 120 | +| data.csv | 5 | 0 | NULL | NULL | |
| 121 | + |
| 122 | +### 步骤 5:查询数据 |
| 123 | +``` |
| 124 | +SELECT * FROM t_person; |
| 125 | +``` |
| 126 | +| id | name | age | city | |
| 127 | +|----------|----------|----------|----------| |
| 128 | +| Nullable(Int32) | Nullable(String) | Nullable(UInt32) | Nullable(String) | |
| 129 | +| 1 | John | 32 | New York | |
| 130 | +| 2 | Emma | 28 | London | |
| 131 | +| 3 | Liam | 35 | Paris | |
| 132 | +| 4 | Olivia | 40 | Berlin | |
| 133 | +| 5 | Noah | 29 | Tokyo | |
| 134 | + |
| 135 | +🚀 现在您已成功将数据导入 Databend! |
| 136 | + |
| 137 | +## Alternative: Databend Cloud |
| 138 | +如果设置本地环境很麻烦,您可以尝试 [Databend Cloud](https://www.databend.com) 以获得完全托管的体验。 |
| 139 | + |
| 140 | + |
| 141 | +> 💬 **社区支持** |
| 142 | +> 有问题?与我们的团队联系: |
| 143 | +> 💬 [Slack Discussion](https://link.databend.com/join-slack) |
0 commit comments