java入门,从CK导一部分数据到mysql

news2024/11/19 5:53:08

一、需求

需要从生产环境ck数据库导数据到mysql,数据量大约100w条记录。

二、处理步骤

1、这里的关键词是生产库,第二就是100w条记录。所以处理数据的时候就要遵守一定的规范。首先将原数据库表进行备份,或者将需要导出的数据建一张新的表了来操作,切记不能在原数据表上进行操作,因为如果操作有误,恢复就很麻烦了,或者直接造成生产事故。

2、100W条记录,那么我们直接通过SQL语句导出来,再导到mysql,显然不现实。第一sql语法不一样,第二数据量太大,导出来的SQL文件打不开。

三、实现

1、ck中创建一个新的临时表,存储需要导出的数据

 CREATE TABLE data_dwd.data_user_import_cdj_1113
(

phone                  Nullable(String) ,
one_id                 String ,
reg_time_platform      Nullable(String) ,
level_no               Nullable(String) ,
employee_id_mall       Nullable(String) ,
reg_time_travel        Nullable(String) ,
activate_status_travel Nullable(String) ,
activate_date_travel   Nullable(String) ,
platform_reg_travel    Nullable(String) ,
level_name_travel      Nullable(String) ,
available_integral     Nullable(String) ,
isaccpmak              Nullable(String) ,
reg_time_hotel         Nullable(String) ,
platform_reg_hotel     Nullable(String) ,
level_name_hotel       Nullable(String) ,
x_mph_kctp             Nullable(String) ,
reg_time_invest        Nullable(String) ,
platform_reg_invest    Nullable(String) ,
level_name_invest      Nullable(String)
)
ENGINE = ReplicatedReplacingMergeTree('/clickhouse/tables/{shard}/data_user_import_cdj_1113',
 '{replica}')
ORDER BY ( 
 one_id)
SETTINGS index_granularity = 8192

2、将需要导出的数据,插入到临时表

--将数据写入中间表
insert  into  data_dwd.data_user_import_cdj_1113 select 
phone                   ,
one_id                  ,
reg_time_platform       ,
level_no                ,
employee_id_mall        ,
reg_time_travel         ,
activate_status_travel  ,
activate_date_travel    ,
platform_reg_travel     ,
level_name_travel       ,
available_integral      ,
isaccpmak               ,
reg_time_hotel          ,
platform_reg_hotel      ,
level_name_hotel        ,
x_mph_kctp              ,
reg_time_invest         ,
platform_reg_invest     ,
level_name_invest   

from    data_user_import  where  phone is  not null;

这里处理的关键信息,是获取需要的数据和字段就行了。原因,原始表一共有400多个字段,实际需要的就20几个,所以这里建的临时表没必要和原始表的表结构一样。

3、创建mysql表,表结构应对应上ck表

--创建mysql表
CREATE TABLE  data_user_import_cdj
(

phone                  varchar(255) ,
one_id                  varchar(255) ,
reg_time_platform      varchar(255) ,
level_no               varchar(255) ,
employee_id_mall       varchar(255) ,
reg_time_travel        varchar(255) ,
activate_status_travel varchar(255) ,
activate_date_travel   varchar(255) ,
platform_reg_travel    varchar(255) ,
level_name_travel      varchar(255) ,
available_integral     varchar(255) ,
isaccpmak              varchar(255) ,
reg_time_hotel         varchar(255) ,
platform_reg_hotel     varchar(255) ,
level_name_hotel       varchar(255) ,
x_mph_kctp             varchar(255) ,
reg_time_invest        varchar(255) ,
platform_reg_invest    varchar(255) ,
level_name_invest      varchar(255)
)

4、将临时表数据导入到mysql数据表

这时可以通过工具导

这个步骤一般比较慢的,但是导100w的数据应该没什么问题

5、数据导到mysql数据库,就可以在mysql数据库对数据进行加工。

这里同样的要对数据加工前,最好使用一张新的表来存储数据加工,而不是直接在原来的表上加工,以防加工错误,数据无法恢复,又需要重新导数据。

比如:从数据中选出10W条处理出来

 create table   tmp_data_user_import_zlt_10W  as select * from     data_user_import_cdj where  reg_time_platform is not  null limit  100000; 

    create table   tmp_data_user_import_zlt_10W  as select * from     data_user_import_cdj where  reg_time_platform is not  null limit  100000;

应创建新的表来存储,而不是在原表上进行操作。

实际开发中,处理完的数据,可能还要导到其他数据库,会涉及到存储过程或者定时任务的一些编写。

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

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

相关文章

界面控件Kendo UI for jQuery R3 2023 - 发布全新金字塔图表类型

Telerik & Kendo UI R3 2023版本带来了30多个新的UI组件,丰富的设计系统文档、多种自定义选项、支持Linux的现代化报表体验等。借助R3 2023,开发人员能够在现代框架上快速构建强大的数字体验功能,满足不断变化的业务需求等。今天将为大家…

vcenter server (部署较大服务器)

作用 VMware vCenter是集中管理控制台,管理所有安装了VMware ESXI的主机 使用vCenter Server可以对虚拟机进行实时的监控,包括服务器硬件、网络和共享的存储,并可以进行故障诊断。 可以查看实时的统计和图表,监控虚拟主机和资源…

【NodeJS】Nodejs安装及环境配置

下载安装包 网址:https://nodejs.org/en 安装程序 1.下载完成后,双击安装包,进行安装,一路默认配置 nxet 即可,安装路劲给默认在C盘,或者选择其他位置,当前教程默认C盘 2.下图根据本身的…

创造者设计模式

Bike package com.jmj.pattern.builder.demo01;public class Bike {private String frame;//车架private String seat;//车座public String getFrame() {return frame;}public void setFrame(String frame) {this.frame frame;}public String getSeat() {return seat;}public…

【京东API】商品详情+搜索商品列表接口

利用电商API获取数据的步骤 1.申请API接口:首先要在相应电商平台上注册账号并申请API接口。 2.获取授权:在账号注册成功后,需要获取相应的授权才能访问电商API。 3.调用API:根据电商API提供的请求格式,通过编程实现…

如何使用Servlet写一个简单的网站

文章目录 前言1. 创建项目2. 引入依赖3. 创建目录4. 编写代码5. 打包程序6. 部署7.验证程序将 tomcat 集成到 idea 中 前言 前面我们学习了Java中常用的 HTTP 服务器 tomcat 的安装和使用,那么今天我们将使用这个 HTTP 服务器为大家写一个简单的网站,这…

Linux之输入输出重定向和管道

一、是什么 linux中有三种标准输入输出,分别是STDIN,STDOUT,STDERR,对应的数字是0、1、2: STDIN 是标准输入,默认从键盘读取信息STDOUT 是标准输出,默认将输出结果输出至终端STDERR 是标准错误…

新版软考高项试题分析精选(三)

请点击↑关注、收藏,本博客免费为你获取精彩知识分享!有惊喜哟!! 1、项目整体管理要综合考虑项目各个相关过程,围绕整体管理特点,以下说法中,( )是不正确的。 A.项目的…

【2021集创赛】 RISC-V杯三等奖:基于E203 处理器的SM4算法硬件加速

杯赛题目:基于蜂鸟E203 RISC-V处理器内核的SoC设计 参赛要求:研究生组/本科生组 赛题内容: 基于芯来科技的开源蜂鸟E203 Demo SoC进行扩展,在限定的可编程逻辑平台上构建面向专用应用领域(譬如人工智能、信息安全、工业…

194. 二叉树的最近公共祖先

题目 题解 递归 def lowestCommonAncestor(root: TreeNode, p: TreeNode, q: TreeNode) -> TreeNode:if not root or root p or root q:return rootleft lowestCommonAncestor(root.left, p, q)right lowestCommonAncestor(root.right, p, q)if not left:return right…

2.4G射频收发芯片XL2400P,收发一体,性能优异

XL2400P 系列芯片是工作在 2.400~2.483GHz 世界通用 ISM 频段的单片无线收发芯片。该芯片集成射频收发机、频率收生器、晶体振荡器、调制解调器等功能模块,并且支持一对多组网和带 ACK 的通信模式。发射输出功率、工作频道以及通信数据率均可配置。芯片已将多颗外围…

全志R128基础组件开发指南——图像采集

图像采集 CSI(DVP) 图像采集 SENSOR -> CSI 通路 CSI (CMOS sensor interface)接口时序上可支持独立 SYNC 和嵌入 SYNC(CCIR656)。支持接收 YUV422 或 YUV420 数据。 VSYNC 和HSYNC 的有效电平可以是正极性,也可…

常用网络命令(实习报告)

南京信息工程大学 实验(实习)报告 实验(实习)名称 常用网络命令 实验(实习)日期 2017/5/25 得分 指导教师 *** 专业 网络工程 年级 2015 班次 1 姓名 *** …

Mybatis报错找不到参数解决之编译保留参数名称

Hi, I’m Shendi Mybatis报错找不到参数解决之编译保留参数名称 需求场景 在使用 Mybatis 的过程中,对于函数参数,通常会加上 Param 注解来给参数命名,以让 Mybatis 找到参数。 有的时候忘记添加,执行时就会报找不到参数的错误&…

spring cloud之网关

Gateway网关(*) 什么是网关 # 1.说明 - 网关统一服务入口,可方便实现对平台众多服务接口进行管控。 - 网关 路由转发 过滤器路由转发:接收一切外界请求,转发到后端的微服务上去过滤器:在服务网关中可以完成一系列的横切功能&a…

学Diffusion前需要储备的一些知识点

自学Diffusion是非常困难的,尤其是到了VAE和VI这里基本找不到比较好的中文资料,甚至是涉及到一些重参数化,高斯混合之类的问题摸不着来龙去脉。在本文中,基本不会涉及公式,只有intuition和理解,如果要看公式…

Pytorch CUDA CPP简易教程,在Windows上操作

文章目录 前言一、使用的工具二、学习资源分享三、libtorch环境配置1.配置CUDA、nvcc、cudnn2.下载libtorch3.CLion配置libtorch4.CMake Application指定Environment variables5.测试libtorch 四、PyTorch CUDA CPP项目流程1.使用CLion结合torch extension编写可以调用cuda的C代…

推介会如何做好媒体宣传

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 推介会是一种专为企业、社会组织和团体、政府等提供的展示自身特点、产品和政策的活动形式,旨在促进交流活动,形成合作,从而带来共同利益。推介会的本…

硬盘分区后数据还能恢复吗?答案揭晓!

“前两天刚给我的电脑硬盘分了区,但今天在查找数据时却发现某些数据丢失了。硬盘分区导致的数据丢失还有机会找回吗?怎么操作呢?请帮帮我!” 在使用电脑时,可能由于电脑需要重装系统,或者出现系统崩溃的情况…

天气越来越寒冷,一定要注意保暖

你们那里下雪了吗?听说西安已经下了今年的第一场雪,我们这里虽然隔了几百公里,但是只下雨没有下雪,不过气温是特别的冷,尤其是对我们这些上班族和上学的人而言,不管多冷,不管刮风下雨&#xff0…