python抽取oracle数据,python将mysql表中数据抽取到另一个mysql库中,持续更新抽取到oracle中...

import MySQLdb

import ConfigParser

class Mysql2Mysql(object):

def getConn(self,filename,dbname):

cf = ConfigParser.ConfigParser()

cf.read(filename)

db_host=cf.get(dbname,'db_host')

db_user=cf.get(dbname,'db_user')

db_pass=cf.get(dbname,'db_pass')

db_name= cf.get(dbname,'db_name')

db_port= cf.get(dbname,'db_port')

db_char=cf.get(dbname,'db_char')

try:

conn=MySQLdb.connect(host=db_host,port=int(db_port),user=db_user,passwd=db_pass,db=db_name)

return conn

except Exception as e:

print str(e)

return -1

def closeDB(self,conn):

try:

if conn:

conn.close()

except Exception as e:

print str(e)

def insertMysql(self,conn,sql,list):

cur=conn.cursor()

cur.executemany(sql,list)

conn.commit()

cur.close()

self.closeDB(conn)

def getData(self,conn,sql):

cur=conn.cursor()

cur.execute(sql)

result_set=cur.fetchall()

return list(result_set)

def insertData(self,conn,sql,data_list):

cur=conn.cursor()

cur.executemany(sql,data_list)

conn.commit()

if __name__=="__main__":

exportmysql=Mysql2Mysql()

get_sql='select * from user_event'

insert_sql='insert into user_event values(%s,%s,%s,%s)'

src_conn=exportmysql.getConn('D:/UliPad/Pythoncode/extract/conf/db.ini','src_db')

target_conn=exportmysql.getConn('D:/UliPad/Pythoncode/extract/conf/db.ini','target_db')

list=exportmysql.getData(src_conn,get_sql)

exportmysql.insertData(target_conn,insert_sql,list)

配置文件内容如下:

[src_db]

db_port = 3306

db_user = root

db_host = 127.0.0.1

db_pass = ltl123

db_name = test

db_char = utf-8

[target_db]

db_port = 3306

db_user = root

db_host = 127.0.0.1

db_pass = ltl123

db_name = mysql

db_char = utf-8

### 回答1: 能够进行数据抽取数据清洗、数据转换以及数据接口适配的技术主要包括以下几种: 1. ETL工具:ETL是数据库中常用的一种技术,它能够抽取、转换和加载数据,常见的ETL工具有Informatica、Talend、DataStage等。 2. Python编程语言:Python是一种通用的编程语言,拥有丰富的数据处理和数据分析库,例如Pandas、Numpy、Scikit-learn等,可以进行数据抽取数据清洗、数据转换和数据接口适配等操作。 3. 数据库管理系统:数据库管理系统(DBMS)可以进行数据的存储、查询、更新和删除等操作,例如MySQLOracle、SQL Server等。 4. Web服务框架:Web服务框架能够处理HTTP请求和响应,提供Web服务接口,例如Flask、Django等,可以实现数据的接口适配。 以上技术可以单独使用,也可以结合使用,以实现数据抽取、清洗、转换和接口适配等任务。 ### 回答2: 能进行数据抽取数据清洗、数据转换以及数据接口适配的技术是ETL(Extract, Transform, Load)技术。 数据抽取(Extract)是指从不同的数据提取数据,这些数据源可以是关系型数据库、非关系型数据库、文本文件、日志文件等等。数据抽取技术可以通过各种方式实现,例如使用SQL语句查询关系型数据库,使用API获取非关系型数据库的数据,使用爬虫技术从网页提取数据等。 数据清洗(Transform)是指对提取的数据进行预处理,以确保数据的准确性和一致性。数据清洗技术包括去除重复数据、处理缺失数据、纠正错误数据、标准化数据格式等等。常见的数据清洗工具有OpenRefine、Python的pandas库等。 数据转换(Transform)是指将清洗后的数据进行适当的转换,以满足不同系统或应用程序的需求。数据转换可以包括数据格式转换、数据结构转换、数据计算等。常见的数据转换工具有Python的pandas库、Apache Spark等。 数据接口适配(Load)是指将转换后的数据加载到目标系统或应用程序。不同的目标系统可能有不同的数据接口,因此需要进行适配以确保数据能够正确地被加载。数据接口适配可以通过编写自定义代码实现,也可以使用ETL工具进行配置。常见的ETL工具包括Talend、Informatica、SSIS等。 总之,ETL技术是一种综合的数据处理技术,能够对数据进行抽取、清洗、转换和接口适配,从而满足不同系统和应用程序对数据的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值