当前位置: 首页 > news >正文

使用navicat导出mysql离线数据后,再导入doris的方案

一、背景

doris本身是支持直接从mysql中同步数据的,但有时候,客户不允许我们使用doris直连mysql,此时就需要客户配合将mysql中的数据手工导出成离线文件,我们再导入到doris中

二、环境

doris 1.2

三、方案

doris支持多种导入离线数据的方案,见 doris导入数据方案 ,但在本文场景下,一般会使用到insert into、csv和json三种方案

3.1 insert into方案

doris对于insert into 对于数据量较小的场景(比如100行以内),可以直接让用户在navicat中将某个表转储SQL文件,然后将其中的insert语句copy出来在doris中执行。但如果数据量较多时,doris会一行行地去执行,效率就会很低。此时如果将多个INSERT INTO中的value部分合并成一行,再由doris执行,效率就会得到提升,但navicat并不原生支持合并,因此作罢。

在这里插入图片描述
在这里插入图片描述

3.1.1 在doris命令行,或者mysql 命令行中执行

打开doris控制台,将insert粘贴进来执行。
在这里插入图片描述

或者使用mysql client登录到doris,将insert粘贴进来执行。
在这里插入图片描述

或者将insert语句写入到服务器的一个文件中,例如test.sql,然后在mysql client中执行source命令
在这里插入图片描述

3.1.2 在bash中执行

如果没有登录到mysql client中,也可以在bash里直接执行

mysql -h {doris_fe_ip}  -P {doris_fe_tcp_port,一般是9030} -u{doris_username} -p'{doris_password}' {doris_database}< /root/sql/test.sql

或者挂在后台执行

nohup  mysql -h {doris_fe_ip}  -P {doris_fe_tcp_port,一般是9030} -u{doris_username} -p'{doris_password}' {doris_database}< /root/sql/test.sql > /root/sql/test.log 2>&1 &

3.2 csv

对于没有什么很复杂的文本的表(主要是不会出现跟csv分隔符相同的文本的字段),可以使用csv格式。

使用navicat导出向导,格式选择csv,文本识别符号选择none(避免navicat自作聪明地给字段添加"),日期选YMD格式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

使用这种方案导出来的csv文件格式如下,第一行是标题,剩下的是数据,数据分割符是 “,”
在这里插入图片描述

在doris上建好表之后,可以使用curl命令来将csv文件导入到doris

curl --location-trusted -u '{dorisusername}:{dorispassword}' -H "label:{12345}" -H "timeout:100" -H "format:csv_with_names" -H "column_separator:,"  -T {test.csv}  http://{doris_fe_ip}:{doris_fe_port}/api/{doris_db}/{doris_table}/_stream_load

相关命令说明如下:

dorisusername:doris的账号

dorispassword:doris的密码

label:本次导入任务的名称,多次导入时需要更换名称,30分钟内不允许名称重复

timeout:导入超时,单位s

format:文件格式,默认是csv,由于navicat导出的时候第一行不是数据而是标题,因此这里需要改成csv_with_names,作用是过滤掉第一行的标题

column_separator:文件分隔符,navicat导出来的csv的分割符是“,”

doris_fe_ip: doris的fe的ip

doris_fe_port: doris的fe的port,一般为8030

doris_db: doris的数据库名

doris_table: doris的数据表名

3.3 json(推荐)

相比于csv方案,json最大的好处是不怕文本中出现与分割符相同的内容,但坏处是json文件要求每个数据都有个key,因此文件会比csv大很多。

使用navicat导出向导,格式选择json,日期选YMD格式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

使用这种方案导出来的json文件格式如下,最外层是[],每一行数据都会用一个{}括起来,而且多行数据的key的顺序是一样的。

在这里插入图片描述

在doris上建好表之后,可以使用curl命令来将json文件导入到doris

curl --location-trusted -u '{dorisusername}:{dorispassword}' -H "label:{12345}" -H "timeout:100" -H "format:json" -H "strip_outer_array:true" -T {test.csv}  http://{doris_fe_ip}:{doris_fe_port}/api/{doris_db}/{doris_table}/_stream_load

相关命令说明如下:

dorisusername:doris的账号

dorispassword:doris的密码

label:本次导入任务的名称,多次导入时需要更换名称,30分钟内不允许名称重复

timeout:导入超时,单位s

format:文件格式,默认是csv,本方案使用json,因此这里需要改成json

strip_outer_array:doris导入json时,默认最外层是{},但navicat导出来的数据最外层是[],因此需要指定此参数将json数组先展平

doris_fe_ip: doris的fe的ip

doris_fe_port: doris的fe的port,一般为8030

doris_db: doris的数据库名

doris_table: doris的数据表名

注意,json格式导入的时候,限制单个文件在100MB以内(在doris be上有参数可调),如果超过100MB,需要先将json切成多个小文件。

相关文章:

使用navicat导出mysql离线数据后,再导入doris的方案

一、背景 doris本身是支持直接从mysql中同步数据的&#xff0c;但有时候&#xff0c;客户不允许我们使用doris直连mysql&#xff0c;此时就需要客户配合将mysql中的数据手工导出成离线文件&#xff0c;我们再导入到doris中 二、环境 doris 1.2 三、方案 doris支持多种导入…...

re:从0开始的CSS学习之路 1. CSS语法规则

0. 写在前面 现在大模型卷的飞起&#xff0c;感觉做页面的活可能以后就不需要人来做了&#xff0c;不知道现在还有没有学前端的必要。。。 1. HTML和CSS结合的三种方式 在HTML中&#xff0c;我们强调HTML并不关心显示样式&#xff0c;样式是CSS的工作&#xff0c;现在就轮到C…...

npm install express -g报错或一直卡着,亲测可解决

问题描述&#xff1a; 最近学习vue3前端框架&#xff0c;安装Node.js之后&#xff0c;在测试是否可行时&#xff0c;cmd窗口执行了&#xff1a;npm install express -g&#xff0c;发现如下图所示一直卡着不动&#xff0c;最后还报错了&#xff0c;网上找了好久&#xff0c;各…...

机器学习11-前馈神经网络识别手写数字1.0

在这个示例中&#xff0c;使用的神经网络是一个简单的全连接前馈神经网络&#xff0c;也称为多层感知器&#xff08;Multilayer Perceptron&#xff0c;MLP&#xff09;。这个神经网络由几个关键组件构成&#xff1a; 1. 输入层 输入层接收输入数据&#xff0c;这里是一个 28x…...

vscode wsl远程连接 权限问题

问题描述&#xff1a;执行命令时遇到Operation not permitted 和 Permission denied问题&#xff0c;是有关ip地址和创建文件的权限问题&#xff0c;参考网络上更改wsl.conf文件等方法均无法解决&#xff0c;只能加sudo来解决...

VED-eBPF:一款基于eBPF的内核利用和Rootkit检测工具

关于VED-eBPF VED-eBPF是一款功能强大的内核漏洞利用和Rootkit检测工具&#xff0c;该工具基于eBPF技术实现其功能&#xff0c;可以实现Linux操作系统运行时内核安全监控和漏洞利用检测。 eBPF是一个内核内虚拟机&#xff0c;它允许我们直接在内核中执行代码&#xff0c;而无…...

配置ARM交叉编译工具的通用步骤

ARM交叉编译工具是用于编译在ARM架构上运行的代码的工具。这些工具允许开发者在一种架构&#xff08;通常是x86或x64&#xff09;上编写和编译代码&#xff0c;然后将其移植到ARM架构上运行。 ARM交叉编译工具链通常包括编译器、链接器、调试器和其他必要的工具&#xff0c;用…...

相机图像质量研究(5)常见问题总结:光学结构对成像的影响--景深

系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结&#xff1a;光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结&#xff1a;光学结构对成…...

使用django构建一个多级评论功能

&#xff0c;评论系统是交流和反馈的重要工具&#xff0c;尤其是多级评论系统&#xff0c;它允许用户回复特定评论&#xff0c;形成丰富的对话结构。这个文章是使用Django框架从零开始构建一个多级评论系统。Django是一个高级Python Web框架&#xff0c;它鼓励快速开发和干净、…...

测试管理_利用python连接禅道数据库并自动统计bug数据到钉钉群

测试管理_利用python连接禅道数据库并统计bug数据到钉钉 这篇不多赘述&#xff0c;直接上代码文件。 另文章基础参考博文&#xff1a;参考博文 加以我自己的需求优化而成。 统计的前提 以下代码统计的前提是禅道的提bug流程应规范化 bug未解决不删除bug未关闭不删除 db_…...

Python 小白的 Leetcode Daily Challenge 刷题计划 - 20240209(除夕)

368. Largest Divisible Subset 难度&#xff1a;Medium 动态规划 方案还原 Yesterdays Daily Challenge can be reduced to the problem of shortest path in an unweighted graph while todays daily challenge can be reduced to the problem of longest path in an unwe…...

BFS——双向广搜+A—star

有时候从一个点能扩展出来的情况很多&#xff0c;这样几层之后搜索空间就很大了&#xff0c;我们采用从两端同时进行搜索的策略&#xff0c;压缩搜索空间。 190. 字串变换(190. 字串变换 - AcWing题库) 思路&#xff1a;这题因为变化规则很多&#xff0c;所以我们一层一层往外…...

LLM之LangChain(七)| 使用LangChain,LangSmith实现Prompt工程ToT

如下图所示&#xff0c;LLM仍然是自治代理的backbone&#xff0c;可以通过给LLM增加以下模块来增强LLM功能: Prompter AgentChecker ModuleMemory moduleToT controller 当解决具体问题时&#xff0c;这些模块与LLM进行多轮对话。这是基于LLM的自治代理的典型情况&#xff0c;…...

新零售的升维体验,摸索华为云GaussDB如何实现数据赋能

新零售商业模式 商业模式通常是由客户价值、企业资源和能力、盈利方式三个方面构成。其最主要的用途是为实现客户价值最大化。 商业模式通过把能使企业运行的内外各要素整合起来&#xff0c;从而形成一个完整的、高效率的、具有独特核心竞争力的运行系统&#xff0c;并通过最…...

vscode +git +gitee 文件管理

文章目录 前言一、gitee是什么&#xff1f;2. Gitee与VScode连接大概步骤 二、在vscode中安装git1.安装git2.安装过程3.安装完后记得重启 三、使用1.新建文件夹first2.vscode 使用 四、连接git1.初始化仓库2.设置git 提交用户和邮箱3.登陆gitee账号新建仓库没有的自己注册一个4…...

【力扣】用栈判断有效的括号

有效的括号原题地址 方法一&#xff1a;栈 对于特殊情况&#xff0c;当字符串的长度为奇数时&#xff0c;一定不是有效的括号。 对于一般情况&#xff0c;考虑使用数据结构栈。 遍历字符串&#xff0c; 遇到左括号时&#xff0c;就入栈。遇到右括号时&#xff0c; 若栈顶元…...

【目录】CSAPP的实验简介与解法总结(已包含Attack/Link/Architecture/Cache)

文章目录 Attack Lab&#xff08;缓冲区溢出实验&#xff09;对应书上Chap3Link Lab&#xff08;链接实验&#xff09; 对应书上Chap7Architecture Lab&#xff08;体系结构实验&#xff09;对应书上Chap4-5Cache Lab&#xff08;缓存实验&#xff09;对应书上Chap6 Attack Lab…...

【机器学习】数据清洗之识别缺失点

&#x1f388;个人主页&#xff1a;甜美的江 &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;机器学习 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习、交流进步…...

【Vue】Vue基础入门

&#x1f4dd;个人主页&#xff1a;五敷有你 &#x1f525;系列专栏&#xff1a;Vue ⛺️稳重求进&#xff0c;晒太阳 Vue概念 是一个用于构建用户界面的渐进式框架优点&#xff1a;大大提高开发效率缺点&#xff1a;需要理解记忆规则 创建Vue实例 步骤&#xff1a; …...

正点原子-STM32通用定时器学习笔记(1)

目录 1. 通用定时器简介&#xff08;F1为例&#xff09; 2. 通用定时器框图 ①时钟源 ②控制器 ③时基单元 ④输入捕获 ⑤捕获/比较&#xff08;公共&#xff09; ⑥输出比较 3.时钟源配置 3.1 计数器时钟源寄存器设置方法 3.2 外部时钟模式1 3.3 外部时钟模式2 3…...

【Linux】shell脚本忽略错误继续执行

在 shell 脚本中&#xff0c;可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行&#xff0c;可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令&#xff0c;并忽略错误 rm somefile…...

python打卡day49

知识点回顾&#xff1a; 通道注意力模块复习空间注意力模块CBAM的定义 作业&#xff1a;尝试对今天的模型检查参数数目&#xff0c;并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet&#xff0c;点击确认后如下提示 最终上报fail 解决方法 内核升级导致&#xff0c;需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

springboot整合VUE之在线教育管理系统简介

可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生&#xff0c;小白用户&#xff0c;想学习知识的 有点基础&#xff0c;想要通过项…...

tomcat入门

1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效&#xff0c;稳定&#xff0c;易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...

LangFlow技术架构分析

&#x1f527; LangFlow 的可视化技术栈 前端节点编辑器 底层框架&#xff1a;基于 &#xff08;一个现代化的 React 节点绘图库&#xff09; 功能&#xff1a; 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...

针对药品仓库的效期管理问题,如何利用WMS系统“破局”

案例&#xff1a; 某医药分销企业&#xff0c;主要经营各类药品的批发与零售。由于药品的特殊性&#xff0c;效期管理至关重要&#xff0c;但该企业一直面临效期问题的困扰。在未使用WMS系统之前&#xff0c;其药品入库、存储、出库等环节的效期管理主要依赖人工记录与检查。库…...

Java后端检查空条件查询

通过抛出运行异常&#xff1a;throw new RuntimeException("请输入查询条件&#xff01;");BranchWarehouseServiceImpl.java // 查询试剂交易&#xff08;入库/出库&#xff09;记录Overridepublic List<BranchWarehouseTransactions> queryForReagent(Branch…...

验证redis数据结构

一、功能验证 1.验证redis的数据结构&#xff08;如字符串、列表、哈希、集合、有序集合等&#xff09;是否按照预期工作。 2、常见的数据结构验证方法&#xff1a; ①字符串&#xff08;string&#xff09; 测试基本操作 set、get、incr、decr 验证字符串的长度和内容是否正…...

Docker、Wsl 打包迁移环境

电脑需要开启wsl2 可以使用wsl -v 查看当前的版本 wsl -v WSL 版本&#xff1a; 2.2.4.0 内核版本&#xff1a; 5.15.153.1-2 WSLg 版本&#xff1a; 1.0.61 MSRDC 版本&#xff1a; 1.2.5326 Direct3D 版本&#xff1a; 1.611.1-81528511 DXCore 版本&#xff1a; 10.0.2609…...