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

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

一、需求

需要从生产环境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.lryc.cn/news/230208.html

相关文章:

  • LeetCode(13)除自身以外数组的乘积【数组/字符串】【中等】
  • WPF资源,静态资源,动态资源
  • 绘图软件 OmniGraffle mac中文版特点说明
  • ai批量剪辑矩阵无人直播一站式托管系统源头技术开发
  • CCNA课程实验-14-Final_Lab
  • Latex在图表标题里面引用参考文献时,出现参考文献顺序混乱的解决方案(适用于bibtex)
  • 多进程间通信学习之消息队列共享内存信号灯集
  • 机器学习基础之《回归与聚类算法(6)—模型保存与加载》
  • 修改Openwrt软路由的web端口
  • 编程怎么学习视频教程,编程实例入门教程,中文编程开发语言工具下载
  • 得帆信息携手深信服,联合打造高安全PaaS超融合一体化解决方案
  • arcgis--浮点型栅格数据转整型
  • nginx四层tcp负载均衡及主备、四层udp负载均衡及主备、7层http负载均衡及主备配置(wndows系统主备、负载均衡)
  • Electron 控制屏幕亮度
  • TSINGSEE视频汇聚管理与AI算法视频质量检测方案
  • linux系统中文件系统和挂载点的联系和区别?
  • CTFSHOW 文件上传
  • 自组织竞争网络在模式分类中的应用——患者癌症发病预测
  • 神经网络中的量化与蒸馏
  • 数据库——表结构相关SQL
  • python 爬虫之requests 库以及相关函数的详细介绍
  • 突破职场竞争,引领未来发展:考取《研发效能(DevOps)工程师职业技术认证》
  • 设计模式例子
  • 腾讯云入侵
  • 第二章 智能家居子系统——C51单片机 配置波特率115200
  • registry镜像仓库通过HTTP API删除镜像
  • 【ATTCK】ATTCK视角下的水坑钓鱼攻防战法
  • 【算法】算法题-20231115
  • Rabin Karp 字符匹配算法
  • 星宿UI2.51资源付费变现小程序 支持流量主广告投放