datax离线同步oracle表到clickhouse实践1

时间:2024.01

目录
1、安装启动 oracle19c 容器
2、rpm包安装clickhouse
3、datax安装

4、datax同步
目标库根据要同步的表,按照clickhouse建表规范建表
编写json文件
编写增量同步shell脚本,加入 crond 定时任务


1、安装启动 oracle19c 容器

二、拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle


三. 创建Oracle 19c镜像的容器

3.1创建目录
[root@docker ~]# mkdir /opt/oradata
[root@docker ~]# chmod -R 777 /opt/oradata/
[root@docker ~]# mkdir /opt/to_oracle

3.2 创建实例
docker run -d -it --name oracle19c -p 11521:1521 -p 5500:5500 \
-v /opt/oradata:/opt/oracle/oradata \
-v /opt/to_oracle:/home/oracle/to_oracle \
registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:latest


3.3 查看日志
docker logs -f oracle19c


四、 修改密码
# 系统默认的system密码修改成oracle
docker exec oracle19c ./setPassword.sh oracle


5.1 进入容器
docker exec -it oracle19c /bin/bash


5.2 登录数据库
sqlplus sys/oracle@localhost:1521/ORCLCDB as sysdba
show pdbs;
alter session set container=ORCLPDB1;


5.4 查看数据文件位置
select file_name from dba_data_files;


5.6 创建数据表空间
create tablespace bigdata datafile '/opt/oracle/oradata/ORCLCDB/ORCLPDB1/bigdata.dbf' size 10G  autoextend on;

5.7 创建用户,指定默认表空间
create user bigdata identified by bigdata default tablespace bigdata;


5.8 用户授权
grant connect,resource,dba to bigdata;


5.3 连接可拔插数据库
sqlplus /nolog
conn bigdata/bigdata@ORCLPDB1

建表、插入数据
把 create.sql insert.sql 放在 /opt/to_oracle/

SQL> @/home/oracle/to_oracle/create.sql
文件内容

create table TDBA_TEST01
(TID          number primary key,TSN          varchar2(40),TNO          number,TAMT         number(15,2),CREATE_DATE  date not null,UPDATE_DATE  date,UPDATE_TIME  date
);


SQL> @/home/oracle/to_oracle/insert.sql
文件内容

INSERT INTO TDBA_TEST01 VALUES(1,'SN001',1,1.01,TO_DATE('2020-02-01','YYYY-MM-DD'),TO_DATE('2020-02-01','YYYY-MM-DD'),TO_DATE('2020-02-01 01:01:01','YYYY-MM-DD HH24:MI:SS'));
INSERT INTO TDBA_TEST01 VALUES(2,'SN002',2,2.12,TO_DATE('2020-02-02','YYYY-MM-DD'),TO_DATE('2020-02-02','YYYY-MM-DD'),TO_DATE('2020-02-02 01:01:01','YYYY-MM-DD HH24:MI:SS'));
INSERT INTO TDBA_TEST01 VALUES(3,'SN003',3,3.23,TO_DATE('2020-02-03','YYYY-MM-DD'),TO_DATE('2020-02-03','YYYY-MM-DD'),TO_DATE('2020-02-03 01:01:01','YYYY-MM-DD HH24:MI:SS'));
INSERT INTO TDBA_TEST01 VALUES(4,'SN004',4,4.34,TO_DATE('2020-02-04','YYYY-MM-DD'),TO_DATE('2020-02-04','YYYY-MM-DD'),TO_DATE('2020-02-04 01:01:01','YYYY-MM-DD HH24:MI:SS'));
INSERT INTO TDBA_TEST01 VALUES(5,'SN005',5,5.45,TO_DATE('2020-02-05','YYYY-MM-DD'),TO_DATE('2020-02-05','YYYY-MM-DD'),TO_DATE('2020-02-05 01:01:01','YYYY-MM-DD HH24:MI:SS'));
INSERT INTO TDBA_TEST01 VALUES(6,'SN006',6,6,TO_DATE('2020-02-06','YYYY-MM-DD'),TO_DATE('2020-02-06','YYYY-MM-DD'),TO_DATE('2020-02-06 01:01:01','YYYY-MM-DD HH24:MI:SS'));
INSERT INTO TDBA_TEST01 VALUES(7,'SN007',7,7.67,TO_DATE('2020-02-07','YYYY-MM-DD'),TO_DATE('2020-02-07','YYYY-MM-DD'),TO_DATE('2020-02-07 01:01:01','YYYY-MM-DD HH24:MI:SS'));
INSERT INTO TDBA_TEST01 VALUES(8,'SN008',8,8.78,TO_DATE('2020-02-08','YYYY-MM-DD'),TO_DATE('2020-02-08','YYYY-MM-DD'),TO_DATE('2020-02-08 01:01:01','YYYY-MM-DD HH24:MI:SS'));
INSERT INTO TDBA_TEST01 VALUES(9,'SN009',9,9,TO_DATE('2020-02-09','YYYY-MM-DD'),TO_DATE('2024-01-09','YYYY-MM-DD'),TO_DATE('2020-02-09 01:01:01','YYYY-MM-DD HH24:MI:SS'));
INSERT INTO TDBA_TEST01 VALUES(9,'SN009',9,9,TO_DATE('2020-02-09','YYYY-MM-DD'),TO_DATE('2024-01-09','YYYY-MM-DD'),TO_DATE('2020-02-09 01:01:01','YYYY-MM-DD HH24:MI:SS'));

2、rpm包安装clickhouse

[root@conda ~]# mkdir clickhouse22.3
[root@conda ~]# cd clickhouse22.3

下载clickhouse的rpm包
https://packages.clickhouse.com/rpm/stable/clickhouse-client-22.3.2.2-2.noarch.rpm
https://packages.clickhouse.com/rpm/stable/clickhouse-common-static-22.3.2.2-2.x86_64.rpm
https://packages.clickhouse.com/rpm/stable/clickhouse-common-static-dbg-22.3.2.2-2.x86_64.rpm
https://packages.clickhouse.com/rpm/stable/clickhouse-server-22.3.2.2-2.noarch.rpm

[root@conda clickhouse22.3]# ll
total 929924
-rw-r--r--. 1 root root     46748 Sep 22  2022 clickhouse-client-22.3.2.2-2.noarch.rpm
-rw-r--r--. 1 root root 178362876 Sep 22  2022 clickhouse-common-static-22.3.2.2-2.x86_64.rpm
-rw-r--r--. 1 root root 773751886 Sep 22  2022 clickhouse-common-static-dbg-22.3.2.2-2.x86_64.rpm
-rw-r--r--. 1 root root     72089 Sep 22  2022 clickhouse-server-22.3.2.2-2.noarch.rpm

[root@conda clickhouse22.3]# rpm -ivh *.rpm

自定义设置密码
bigdata


[root@conda clickhouse22.3]# clickhouse start

[root@conda clickhouse22.3]# clickhouse status
/var/run/clickhouse-server/clickhouse-server.pid file exists and contains pid = 10792.
The process with pid = 10792 is running.


[root@conda clickhouse22.3]# clickhouse-client --password bigdata -m
ClickHouse client version 22.3.2.1.
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 22.3.2 revision 54455.

conda :) 

create table TEST01
(TID          UInt32,TSN          String,TNO          UInt16,TAMT         Decimal(15,2),CREATE_DATE  Date,UPDATE_DATE  Date,UPDATE_TIME  DateTime
) ENGINE = MergeTree(CREATE_DATE, (TID), 8192)

3、datax安装

System Requirements
JDK(1.8以上,推荐1.8)
Python(推荐Python2.6.X) 我使用的CentOS7自带的 Python 2.7.5


直接下载DataX工具包:
DataX下载地址(http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz)

datax_ck.tar.gz
datax_ck.tar.gz下载icon-default.png?t=N7T8https://www.123pan.com/s/VTMXjv-pfA6v.html
提取码:xxxx

下载后解压至本地某个目录,进入bin目录,即可运行同步作业:
tar -zxvf datax_ck.tar.gz
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/671576.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SparkJDBC读写数据库实战

默认的操作 代码val df = spark.read.format("jdbc").option("url", "jdbc:postgresql://localhost:5432/testdb").option("user", "username").option("password", "password").option("driver&q…

KtConnect 本地连接连接K8S工具

KT Connect简介 Kt Connect (Kubernetes Developer Tool)是一个阿里开源、轻量级的面向 Kubernetes 用户的开发测试环境治理辅助工具。其核心是通过建立本地到集群以及集群到本地的双向通道。 1.阿里开源,轻量级, 2. 安装快捷简单&#xf…

【数据结构与算法】堆 / 堆排序 / TopK问题(Heap)

文章目录 1.堆2.C语言实现堆2.1 堆结构与基本操作2.2 其它辅助操作2.3 堆的基本操作2.3.1 插入2.3.2 删除 3. 堆排序4. TopK5. 所有代码 1.堆 堆总是一棵完全二叉树,而完全二叉树更适合使用**顺序结构(数组)**存储,完全二叉树前h…

蓝桥杯省赛无忧 课件92 行列式

01 什么是行列式 02 行列式的性质 03 高斯消元求行列式

【Flink】FlinkSQL实现数据从Kafka到MySQL

简介 未来Flink通用化,代码可能就会转换为sql进行执行,大数据开发工程师研发Flink会基于各个公司的大数据平台或者通用的大数据平台,去提交FlinkSQL实现任务,学习Flinksql势在必行。 本博客在sql-client中模拟大数据平台的sql编辑器执行FlinkSQL,使用Flink实现数据从Kafka传…

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

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

代码随想录算法训练营第二八天 | 分割 子集

目录 复原IP地址子集子集 II LeetCode 93.复原IP地址 LeetCode 78.子集 LeetCode 90.子集II 复原IP地址 一些字符串的基本操作不会 s.insert(i 1, ‘.’); s.deleteCharAt(i 1); class Solution {List<String> result new ArrayList<>();public List<St…

使用clearml监控模型训练过程

安装依赖 pip install clearml依赖安装好后登陆clearml官网 创建一个工作空间 点击Create new credentials 点击后将api整块复制出来&#xff0c;随后需要在当前终端环境中初始化这个clearml的账户信息 终端输入&#xff1a; clearml-init 在出现的Paste copied configurat…

UDP端口探活的那些细节

一 背景 商业客户反馈用categraf的net_response插件配置了udp探测, 遇到报错了&#xff0c;如图 udp是无连接的&#xff0c;无法用建立连接的形式判断端口。 插件最初的设计是需要配置udp的发送字符&#xff0c;并且配置期望返回的字符串&#xff0c; [[instances]] targets…

2.6:冒泡、简选、直插、快排,递归,宏

1.冒泡排序、简单选择排序、直接插入排序、快速排序(升序) 程序代码&#xff1a; 1 #include<stdio.h>2 #include<string.h>3 #include<stdlib.h>4 void Bubble(int arr[],int len);5 void simple_sort(int arr[],int len);6 void insert_sort(int arr[],in…

Vite 下一代的前端工具链,前端开发与构建工具

一、Vite 简介 官方中文网站&#xff1a;Vite | 下一代的前端工具链 官方定义&#xff1a; Vite&#xff0c;下一代的前端工具链&#xff0c;为开发提供极速响应。 Vue3.4版本&#xff0c;Vue新版本使用Vite构建、开发、调试、编译。 Vite的优势 极速的服务启动 使用原生…

2024PMP考试新考纲-近年PMP真题练一练和很详细解析(3)

今天华研荟继续为您分享和解析PMP真题&#xff0c;一方面让大家感受实际的PMP考试和出题形式&#xff0c;另一方面是通过较详细的解题思路和知识讲解帮助大家最后一个多月有效备考&#xff0c;一次性3A通过2024年PMP考试。 2024年PMP考试新考纲-近年真题随机练一练 (注&#x…

企业邮箱是什么?企业邮箱百科

本文将为大家讲解&#xff1a;1、企业邮箱的定义&#xff1b;2、企业邮箱的主要功能特点&#xff1b;3、企业邮箱如何选择和部署&#xff1b;4、企业邮箱的运营与维护&#xff1b;5、企业邮箱在实际工作中的应用与挑战&#xff1b;6、2024年最新五大企业邮箱盘点   下面提到的…

Redis——面试+思想+应用

文章目录 简介Redis基本介绍&#xff1a;性能&#xff1a;持久性和复制&#xff1a;补充——重点&#xff1a;Redis额外支持的操作&#xff1a; 使用场景&#xff1a;与Java的集成&#xff1a;Redis集群Redis Sentinel优点&#xff1a;缺点&#xff1a;适用场景&#xff1a; Re…

qt在pro文件中设置utf-8编码

在 Qt 的 .pro 文件中设置使用 UTF-8 编码&#xff0c;可以通过在 .pro 文件中添加以下内容来实现&#xff1a; QMAKE_CXXFLAGS -source-charset UTF-8 QMAKE_CXXFLAGS -execution-charset UTF-8这样设置后&#xff0c;Qt 会将源代码和执行时的字符集都设置为 UTF-8 编码。这…

Redis缓存高可用集群

Redis集群方案 哨兵集群 在redis3.0以前的版本要实现集群一般是借助哨兵sentinel工具来监控master节点的状态&#xff0c;如果master节点异常&#xff0c;则会做主从切换&#xff0c;将某一台slave作为master&#xff0c;哨兵的配置略微复杂&#xff0c;并且性能和高可用性等各…

大语言模型训练数据集(1)

CLUECorpusSmall CLUECorpusSmall包含新闻、社区互动、维基百科、评论语料。原始数据和细节描述在这里 语料 链接 CLUECorpusSmall---- https://share.weiyun.com/sC6PMhxx CLUECorpusSmall (BERT格式)---- https://share.weiyun.com/9SPPGUOK News Commentary v13 (ZH-EN) Ne…

sql非查询知识点(增删改-crud没有r)

1.建库 create database database_name 2.使用该数据库 use database_name 3.建表 3.1普通建表 create table if not exists actor(actor_id smallint(5) not null primary key comment "主键id",first_name varchar(45) not null comment "名字",last…

双非本科准备秋招(18.1)—— 力扣二叉树

1、404. 左叶子之和 方法一&#xff1a; 可以在父节点判断一下&#xff0c;如果左子树不为null&#xff0c;并且左子树没有左右子树&#xff0c;说明这是个左叶子节点。 class Solution {public int sumOfLeftLeaves(TreeNode root) {if(root null) return 0;int LV sumOfL…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Rating组件

鸿蒙&#xff08;HarmonyOS&#xff09;项目方舟框架&#xff08;ArkUI&#xff09;之Rating组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、Rating组件 提供在给定范围内选择评分的组件。 子组件 无。 接口 Rating(opt…