gpt4 book ai didi

java - 将表从 Teradata 复制到 mysql

转载 作者:行者123 更新时间:2023-11-29 13:05:05 24 4
gpt4 key购买 nike

我已经搜索了几个小时但没有真正的解决方案。

我想设置一个持续的任务(每晚)。我在服务器 1 上的 Teradata 数据库中有一个表。每天晚上,我都需要将整个表从该 Teradata 实例复制到具有 MySQL 5.6 的开发服务器(服务器 2)。

如何将服务器 1 的整个表格复制到服务器 2?

我尝试过的事情:1)从teradata服务器1中选择表x中的所有数据到ResultSet中。通过preparedStatement插入到mysql中。但这太慢了。另外,我不知道如何删除表并每晚使用 teradata 服务器中的架构重新创建它。

请问有什么帮助吗?

最佳答案

有几种方法可以做到这一点。

注意:这些可能是较旧的方法,只是想让您思考如何在当前环境中做到这一点。另外我不熟悉您的数据敏感性和权限等。

其中一种是通过 CSV 文件将 teradata 传输到 MySQL,请参阅下面的示例和链接。 (这些可能是较旧的帖子,但基本思想正是您所需要的)。

从 Teradata 导出:

创建外部表数据库名称.表名称(待创建) SAMEAS 数据库名称.表名称(已存在,要导出其数据)使用(DATAOBJECT('​​C:\Data\file_name.csv')分隔符“|”远程源“ODBC”);

Export From Teradata Table to CSV

编辑:如果 CREATE EXTERNAL TABLE 不起作用,那么您可能必须先使用 java 来提取,然后组织数据...模仿当前方法(但它有效)来获取数据。 Google-fu 带有这个方便的链接 https://www.google.com/search?q=external+csv+file+teradata&oq=external+csv+file+teradata&

(dnoeth) 下面建议这样做:以 DELIMITED 格式导出 TPT(这看起来很麻烦...但可能是唯一的方法)所以这里有一个讨论它的链接:http://developer.teradata.com/tools/articles/external-data-formats-supported-by-the-tpt-dataconnector-operator

导入到mysql(不要删除表。只需从表中删除):

mysqlimport --ignore-lines=1\ --fields-termied-by=,\ --local -u 根\ -p 数据库\ 表名.csv

http://chriseiffel.com/everything-linux/how-to-import-a-large-csv-file-to-mysql/

您需要在这两种环境中安排此操作,这可能会很麻烦。

现在我看到您使用 Java,并且在 Java 中您可以通过(无论您有什么可用于计划任务的方式)创建一个简单的计划任务。您可能需要进行反复试验,并且您的数据可能会成为问题,具体取决于数据是什么。如何分隔,是否有标题等。

然后您将调用上面示例的变体。通过Java

这是一个java示例:

http://www.java-tips.org/other-api-tips/jdbc/import-data-from-txt-or-csv-files-into-mysql-database-t-3.html

还有另一个:

How to uploading multiple csv file into mysql database using jsp and servlet?

另一个:

http://www.csvreader.com/java_csv_samples.php

所以基本的想法是从 teradata 导出 csv,这应该很简单。

使用Java遍历文件服务器来获取你的文件(你可能需要FTP到某个地方)你可能需要考虑这一点......

使用 Java 和 UDF 或某个可以迭代 CSV(内容)的包来使用您的 CSV 文件并将其导入 MySQL(您自己编写一个或在他们现在所说的“物联网”上找到一个)。

编辑:这里是有关使用 java 调度任务的信息以及查看链接。

http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/ScheduledExecutorService.html

并检查这个 SO convo...

How to schedule a periodic task in Java?

关于java - 将表从 Teradata 复制到 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22822878/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com