加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

将数据从oracle移动到HDFS,处理并从HDFS移动到Teradata

发布时间:2020-12-12 13:11:55 所属栏目:百科 来源:网络整理
导读:我的要求是 Move data from Oracle to HDFS Process the data on HDFS Move processed data to Teradata. 还需要每15分钟进行一次整个处理.源数据的量可以接近50GB,并且处理的数据也可以是相同的. 经过互联网搜索后,我发现了 ORAOOP to move data from Oracl
我的要求是
  1. Move data from Oracle to HDFS
  2. Process the data on HDFS
  3. Move processed data to Teradata.

还需要每15分钟进行一次整个处理.源数据的量可以接近50GB,并且处理的数据也可以是相同的.

经过互联网搜索后,我发现了

  1. ORAOOP to move data from Oracle to HDFS (Have the code withing the shell script and schedule it to run at the required interval).
  2. Do large scale processing either by Custom MapReduce or Hive or PIG.
  3. SQOOP – Teradata Connector to move data from HDFS to Teradata (again have a shell script with the code and then schedule it).

这是一个正确的选择,这是否适用于所需的时间段(请注意,这不是每日批次)?

我发现的其他选项如下

  1. STORM (for real time data processing). But i am not able to find the oracle Spout or Teradata bolt out of the box.
  2. Any open source ETL tools like Talend or Pentaho.

请分享您对这些选项的想法以及任何其他可能性.

看起来你有几个问题,所以让我们试着把它分解.

在HDFS中导入

看起来你正在寻找Sqoop. Sqoop是一个工具,可以让你轻松地将数据传入/传出HDFS,并可以本地连接到包括Oracle在内的各种数据库. Sqoop与Oracle JDBC瘦驱动程序兼容.以下是从Oracle转移到HDFS的方法:

sqoop import --connect jdbc:oracle:thin@myhost:1521/db --username xxx --password yyy --table tbl --target-dir /path/to/dir

有关更多信息:here和here.请注意,您也可以直接导入带有Sqoop的Hive表,这样可以方便地进行分析.

处理

正如您所指出的,由于您的数据最初是关系型的,因此使用Hive进行分析是个好主意,因为您可能更熟悉类似SQL的语法. Pig是更纯粹的关系代数,语法不是类似SQL的,它更像是一个偏好问题,但两种方法都应该可以正常工作.

由于您可以使用Sqoop直接将数据导入Hive,因此您的数据在导入后应该可以直接处理.

在Hive中,您可以运行查询并告诉它在HDFS中写入结果:

hive -e "insert overwrite directory '/path/to/output' select * from mytable ..."

导出到TeraData

Cloudera去年发布了一个连接Teradata for Sqoop的连接器,如here所述,所以你应该看一下,看起来就像你想要的那样.您将如何做到这一点:

sqoop export --connect jdbc:teradata://localhost/DATABASE=MY_BASE --username sqooptest --password xxxxx --table MY_DATA --export-dir /path/to/hive/output

整个过程绝对可以在你想要的任何时间段内完成,最终重要的是集群的大小,如果你想快速,那么根据需要扩展你的集群. Hive和Sqoop的好处是处理将在您的集群中分发,因此您可以完全控制计划.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读