`

脚本数据迁移

 
阅读更多

     有一个数据迁移的工作,需要把A数据库的两张表的内容关联起来,根据条件导入到各个分库中,分库的库名在A库查询出来的一个字段中.简而言之就是根据结果集把数据倒入不同的数据库中。

      一,kettle 首先想到了使用kettle,根据查询的条件设置变量,然后在kettle中插入地方的数据库连接使用相应的变量设置,变量的设置如下图:



 

然后数据流转。

         二、shell 然后线上执行kettle脚本要同时连接来源库和目标库,我们没有这个环境同时可以连接两个库,而且怕有风险,所以修改使用脚本导出插入到每个数据库的sql脚本,首先想到了使用shell脚本编写,直接执行mysql命令,大概逻辑如下

for data in `{这里写sql命令};' |grep wiota | sed -e 's/\t/=/g' | sed 's/[ ]/%/g'` ;do
## 一些特殊字符需要先替换然后再替换回来
arrays[index++]=$data;
done
echo '记录总条数'${#arrays[@]};
for item in ${arrays[@]}; do
arr=(${item//=/ })
{这里处理切分出来后的结果}
echo '{插入的sql}  | sed -e 's/%/ /g'>> oasHotelInfo.sql
done

 

      三、 python 然后发现结果集中有空字符串,然后shell拆分的时候结果会少,例如,,拆分出来会只有两个结果,少一个结果会,所以就切换成python编写。大概流程如下

#dev  database
con = mdb.connect(host='192.168.0.1m', port=3306, user='test', passwd='111111', db='test', charset='utf8')
 
cur=con.cursor() 
f = codecs.open('rs.sql', 'w+', 'utf-8')
try:
    cur.execute('{此处写sql内容}')
    f.write('set names utf8;\n')
    for data in cur.fetchall():
        temp = data[0]
        id = data[1]
        end = temp.find('.')
        db_name = 'db_'+domain[0:end]
        sql = 'INSERT INTO %s.tableName (colName) values(%s);' % (db_name,id)
        f.write(sql)
    print 'done'
finally:
    f.close()
    cur.close()
    con.close()

 

 

  • 大小: 35.7 KB
分享到:
评论

相关推荐

    mysql数据迁移,本资源用shell脚本自动完成,人机交互

    下面将详细介绍如何利用Shell脚本来实现MySQL的数据迁移。 首先,我们需要理解MySQL的基本操作,包括创建数据库、导入导出数据等。在MySQL中,`mysqldump`是用于备份和导出数据库的工具,而`mysql`命令则用于导入...

    数据迁移脚本,数据泵导入导出,以及表分析等

    ### 数据迁移脚本、数据泵导入导出及表分析详解 #### 一、概述 在IT行业中,数据库作为存储和管理数据的核心工具,在系统升级、迁移或是整合时扮演着极其重要的角色。对于Oracle数据库而言,数据迁移脚本、数据泵...

    shell脚本实现mysql从原表到历史表数据迁移

    这里我们关注的是使用Shell脚本来实现MySQL从原表到历史表的数据迁移。这种自动化的方法可以帮助我们高效、准确地处理大量数据,同时减少人为错误。 首先,让我们深入理解`shell`脚本。Shell是Linux和Unix系统中的...

    TDengine数据迁移Python脚本

    ## 数据传输工具 通过Restful 表到表传输数据。 > 支持同步整个数据库,或从文件读取表。 > 支持多条拼SQL (配置 recodeOfPerSQL)。 > 支持导入导出表异构,但表名必须相同。 > 支持指定数据起始时间 > 兼容 ...

    sql 数据迁移工具

    在IT行业中,数据库管理是一项至关重要的任务,而SQL数据迁移工具正是解决这一问题的有效手段。本文将深入探讨SQL数据迁移工具的功能、应用场景以及常见的迁移策略。 SQL数据迁移工具,如标题所示,是一种能够帮助...

    MySQL+人大金仓+数据迁移

    "MySQL+人大金仓+数据迁移" MySQL 是一个流行的开源关系数据库管理系统,而人大金仓是基于 PostgreSQL 的一款商业数据库管理系统。数据迁移是指将数据从一个数据库管理系统迁移到另一个数据库管理系统的过程。本文...

    大数据-数据迁移-hive、hbase、kudu迁移

    在大数据领域,数据迁移是一项关键任务,特别是在组织从自建数据中心向云平台迁移的过程中。本文档详细记录了一次从自建Hadoop集群到华为云MRS(Managed Service for Big Data)的大规模数据迁移项目,涉及到了Hive...

    淘宝海量数据迁移方案

    ### 淘宝海量数据迁移方案 #### 一、数据迁移的场景与目标 在进行数据迁移时,首先需要明确的是为什么需要进行数据迁移以及希望通过迁移实现什么样的目标。以下是一些常见的数据迁移场景: 1. **表数据量过大**:...

    Redis数据导入导出以及数据迁移的4种方法详解

    Redis 数据导入导出和数据迁移是 Redis 管理中的重要环节,对于数据备份、故障恢复、集群扩展等场景有着至关重要的作用。本文将详细解析 Redis 数据导入导出的4种方法。 首先,我们来看第一种方法:使用 AOF...

    基于PowerBuilder数据管道的数据迁移技术及其应用设计

    这个文件可能包含了PowerBuilder脚本,用于建立和执行数据迁移任务。通过分析和运行这个文件,我们可以更深入地理解如何在实践中运用数据管道技术,包括如何定义数据源、数据窗口对象,以及如何编写迁移逻辑。 总结...

    Hadoop数据迁移--从Oracle向Hadoop.zip

    标题中的“Hadoop数据迁移--从Oracle向Hadoop”指的是将传统的Oracle数据库中的数据迁移到分布式计算框架Hadoop中。这个过程通常涉及到大量的数据处理和转换,以适应Hadoop的存储和处理方式。Hadoop主要由HDFS...

    postgreSQL数据迁移到达梦数据库操作

    PostgreSQL 数据迁移到达梦数据库操作需要使用 Navicat for PostgreSql 工具生成 SQL 脚本,然后使用达梦数据库的控制台工具 DM 控制台工具来执行 SQL 脚本。在迁移过程中,需要注意各种可能出现的问题,并根据业务...

    es迁移工具,实现es数据的两个集群之间或者导出到本地进行迁移.zip

    这个压缩包文件提供了一个专门用于Elasticsearch数据迁移的工具,让我们来详细了解一下这个工具及其工作原理。 1. **Elasticsearch集群间迁移** 当你需要在两个不同的Elasticsearch集群之间迁移数据时,这个工具...

    数据库表数据迁移

    数据库表数据迁移是一个常见的任务,尤其在企业级应用中,可能因为系统升级、数据库更换或数据整合等原因需要进行。在这个场景下,我们看到的“数据库表数据迁移”是从MySQL数据库到Oracle数据库的迁移过程。下面将...

    DB2数据迁移工具

    "IBMDataMovementTool.cmd" 是命令行脚本文件,用户可以通过命令行界面运行工具,进行自动化或脚本化的数据迁移任务。 4. **Shell脚本**: "IBMDataMovementTool.sh" 是一个Unix/Linux shell脚本,用于在这些操作...

    kafka topic迁移脚本

    Topic迁移是将一个Topic的数据从一个集群移动到另一个集群的过程,这对于扩展、备份或故障恢复等操作至关重要。本篇将详细介绍如何利用自动化脚本实现Kafka Topic的无损热迁移,并探讨此过程中的关键知识点。 首先...

    数据迁移脚本SQL文件(知识研究)

    这个过程中,编写SQL脚本是实现数据迁移的一种有效方式。下面,我将概述编写数据迁移SQL脚本的基本步骤和一些注意事项,以及一个简单的示例。 ### 基本步骤 1. **分析源数据库和目标数据库**: - 确定源数据库和...

    不同数据库之间的不同表结构的数据迁移

    在处理源码和工具方面,可能需要编写自定义脚本来实现特定的转换逻辑,或者使用现成的数据迁移工具,如Oracle的Data Pump、SQL Server的SSIS(SQL Server Integration Services)或开源工具如Talend、Apache Nifi等...

    ceph整体在线迁移自动化脚本

    【标题】:“Ceph整体在线迁移自动化脚本”是指一种专为Ceph分布式存储系统设计的工具,旨在帮助用户在不中断服务的情况下,将整个Ceph集群的数据和配置从一个环境迁移到另一个环境。这样的迁移过程对于数据中心的...

    oracle数据迁移项目实施方案

    Oracle数据迁移项目实施方案的知识点涵盖项目需求分析、数据迁移方案设计、实施过程的步骤、系统状态信息的更新以及备份脚本的规划和配置。以下是针对各部分内容的详细解读: 项目需求分析: 项目需求是数据迁移的...

Global site tag (gtag.js) - Google Analytics