Doris 导出、导入表数据(保姆及教程)

Doris 导入导出Mysql表数据

使用EXPORT命令导出csv格式的 Doris 中存储的数据。

使用 Stream Load 进行导入。Stream Load 可以保证一批导入任务的原子性,要么全部导入成功,要么全部导入失败。

一、表数据导出

1.注意事项

export 数据导出到本地文件系统,需要在 fe.conf 中添加enable_outfile_to_local=true并且重启 FE。

导出的路径为be节点下的文件夹,提前创建好,否则会报路径找不到!!!

2.导出代码如下

通过mysql客户端执行

# 按分区导出test 表到 绝对路径下
EXPORT TABLE test TO "file:///home/back/export-data-"
PROPERTIES(
    "parallelism" = "5",
    "format" = "csv",
    "column_separator"=",",
    "data_consistency" = "partition",
    "max_file_size" = "1024MB"
);

3.批量修改格式

ssh 连接be节点。进入/home/back文件夹下。

此时导出的文件没有文件后缀,通过Stream Load 导入会报错。必须添加.csv 的文件后缀

vim renameFiles.sh


#!/bin/bash
# 批量修改文件
path="/home/back"
cd $path
 
for file in *
do  
  new_file="${file}.csv"
  mv "$file" "$new_file"
  
# 检查是否成功
  if [ $? -eq 0 ]; then
    echo "文件重命名成功: $file -> $new_file"
  else
    echo "文件重命名失败"
  fi

done



./renameFiles.sh

二、导入

1.导入单个csv 文件

通过 curl 命令可以提交 Stream Load 导入作业。

curl -v --http0.9 --location-trusted 
-u 用户名:密码   
-H "Expect:100-continue" 
-H "column_separator:," 
-T 你的csvs文件.csv  
-XPUT http://<fe_ip>:<fe_http_port>/api/导入的数据库名/导入的表明/_stream_load

注意 导入的端口是fe的http_port   默认为8030

导入成功截图

红框内显示导入结果 sucess 和 导入的数据条数

2.批量导入

shell 脚本如下,注意每个be节点下的文件都要导入。

vim importBatchCsv.sh


#!/bin/bash
path="/home/back"
cd $path
a=0
for var in $(ls *.csv)
do
  let a++
  curl -v --http0.9 --location-trusted -u 用户名:密码   -H "Expect:100-continue"  -H "column_separator:," -T $var -XPUT http://FE节点的ip:8030/api/你的的库名/需要导入的表名/_stream_load
  echo "这是第"$a"次数据导入"
done


三、总结

以上就是今天要讲的内容,本文仅仅简单介绍了doris csv文件的导入导出,引用官网的原话

Apache Doris 是一款基于 MPP 架构的高性能、实时的分析型数据库,以高效、简单、统一的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。基于此,Apache Doris 能够较好的满足报表分析、即席查询、统一数仓构建、湖仓一体等使用场景,用户可以在此之上构建大屏看板、用户行为分析、AB 实验平台、日志检索分析、用户画像分析、订单分析等应用。

Doris 是一个开源的 MPP(大规模并行处理)分析型数据库,广泛用于在线分析处理(OLAP)场景。要将 Doris 数据导出CSV 格式,通常需要使用 Doris 提供的工具或者通过编写程序调用 Doris 的 REST API 来实现。下面是一个基本的操作步骤示例: 1. 使用命令行工具 BE-TOOL: Doris 官方提供了 BE-TOOL 这个命令行工具,可以用来执行查询并将结果导出文件中。首先,确保已经安装了 BE-TOOL,然后通过命令行执行以下命令: ```bash be_tool --host=<FE节点地址> --port=<FE节点端口> -u <用户名> --query=<SQL查询语句> -o <输出文件路径> --format=csv ``` 其中 `<FE节点地址>`、`<FE节点端口>`、`<用户名>`、`<SQL查询语句>` 和 `<输出文件路径>` 需要根据实际情况进行替换。 2. 编写程序调用 REST API: 可以编写程序,使用 HTTP 请求调用 Doris 的 REST API 执行查询并将结果导出CSV 格式。以下是一个使用 curl 命令的示例: ```bash curl -s -X POST -H "Content-Type: application/json" -d '{"sql":"<SQL查询语句>"}' http://<FE节点地址>:<FE节点端口>/api/<数据库名>/query > <输出文件路径> ``` 其中 `<SQL查询语句>`、`<FE节点地址>`、`<FE节点端口>` 和 `<数据库名>` 需要根据实际情况替换。导出文件将会保存在 `<输出文件路径>` 所指定的位置。 请注意,具体的操作步骤可能会随着 Doris 版本的更新而有所变化,所以在操作之前建议查阅最新的官方文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值