TopMind ETL转换器

etl-converter-talenttech的Python项目详细描述


ETL表转换器和创建者

用于将表从一个数据库转换到另一个数据库的Python工具包

数据库类型

支持的数据库。你必须使用数据库的短名称 短_名称:类型数据库

  • ch:点击屋
  • pg:postgresql
  • 在mysql:mysql在
  • 在眩晕:眩晕在
  • 在exasol:埃克森在

支持的数据库转换

  • mysql到pg
  • mysql到vertica
  • mysql到exasol
  • ch到vertica
  • pg到vertica

证书

sql_credentials={"pg": {"database": os.getenv("PG_DATABASE"),
        "schema": os.getenv("PG_SCHEMA"),
        "user": os.getenv("PG_USER"),
        "host": os.getenv("PG_HOST"),
        "port": os.getenv("PG_PORT"),
        "password": os.getenv("PG_PASSWORD"),
        #additional params bellow (optional) "executemany_mode": "values",
        "executemany_values_page_size": 10000,
        "executemany_batch_page_size": 500,
    },
    "ch": {"database": os.getenv("CH_DATABASE"),
        "user": os.getenv("CH_USER"),
        "host": os.getenv("CH_HOST"),
        "port": os.getenv("CH_PORT"),
        "password": os.getenv("CH_PASSWORD"),
        #additional params bellow (optional) "connect_args": {"alt_hosts": "{},{}:{}".format(
                os.getenv("CH_HOST_B"), os.getenv("CH_HOST_C"), os.getenv("CH_PORT"))},
    },
    "vertica": {"database": os.getenv("VERTICA_DATABASE"),
        "schema": os.getenv("VERTICA_SCHEMA"),
        "user": os.getenv("VERTICA_USER"),
        "host": os.getenv("VERTICA_HOST"),
        "port": os.getenv("VERTICA_PORT"),
        "password": os.getenv("VERTICA_PASSWORD"),
        #additional params bellow (optional) "connect_args": {"connection_load_balance": True,
            "backup_server_node": json.loads(os.getenv("VERTICA_CONFIGS"))["backup_server_node"],
        },
    },
    "mysql": {"database": os.getenv("MYSQL_DATABASE"),
        "user": os.getenv("MYSQL_USER"),
        "host": os.getenv("MYSQL_HOST"),
        "port": os.getenv("MYSQL_PORT"),
        "password": os.getenv("MYSQL_PASSWORD"),
    },
}

使用

^{pr2}$
importosfromconverter.fields_converterimportFieldsConvertertables=["directions","users"]from_db="mysql"to_db="pg"converter=FieldsConverter(sql_credentials,from_db,to_db,tables=tables)print(converter.get_columns(tables[0]))print(converter.get_columns(tables[0],table_from=False))print(converter.create_list_of_tables(tables,to_create=False,dir=None))

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java检查整数是0还是检查变量是null更好?   java Android Kotlin(初学者)使用File(),并从ACTION\u GET\u内容返回Uri   java JavaFx在“内部场景”和根场景之间切换   spring将XMLBean配置转换为java配置   java JPA HIBERNATE映射列两次(embeddedID和POJO)   c#单态模式模型在什么情况下适用?   java请求。getRemoteUser在特定时间后返回null?   spring boot中PUT api控制器的java my单元测试用例失败   java在字符串中互换地解析和替换值   java Android JNI在应用程序中检测到错误:调用JNI GetMethodID时出现挂起异常   JavaSpringDataMongo:使用非简单键持久化映射   爪哇玻璃鱼连接被拒绝   java如何在用户注册时发送特定电子邮件id的自动回复?   Java列表:实例化时和之后的赋值之间的差异