복붙노트

[HADOOP] Oracle에서 HDFS로 데이터 이동, HDFS에서 Teradata로 이동 및 처리

HADOOP

Oracle에서 HDFS로 데이터 이동, HDFS에서 Teradata로 이동 및 처리

내 요구 사항은 다음과 같습니다.

또한 15 분마다이 전체 처리를 수행해야합니다. 원본 데이터의 양은 50GB에 가깝고 처리 된 데이터도 동일 할 수 있습니다.

인터넷에서 많은 것을 검색 한 결과, 나는 그것을 발견했다.

이것이 처음부터 올바른 선택이며 필요한 기간 동안 가능합니까? (일일 배치가 아니므로주의하십시오)

내가 찾은 다른 옵션은 다음과 같습니다.

이러한 옵션과 다른 가능성에 대한 의견을 공유하십시오.

해결법

  1. ==============================

    1.몇 가지 질문이있는 것 같아요.

    몇 가지 질문이있는 것 같아요.

    Sqoop을 찾고있는 것 같습니다. Sqoop은 HDFS에서 데이터를 쉽게 전송하고 오라클을 포함한 다양한 데이터베이스에 쉽게 연결할 수있는 도구입니다. 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
    

    자세한 내용은 여기와 여기를 참조하십시오. Sqoop을 사용하여 하이브 테이블로 직접 가져올 수도 있습니다. 이는 분석을 편리하게 할 수 있습니다.

    앞서 언급했듯이 데이터는 처음에는 관계형이기 때문에 SQL과 유사한 구문에 익숙하기 때문에 하이브를 사용하여 분석을 수행하는 것이 좋습니다. 돼지는 더 순수한 관계형 대수학이고 구문은 SQL과 유사하지 않습니다. 더 선호하는 문제이지만 두 방법 모두 잘 작동합니다.

    Sqoop을 사용하여 Hive로 데이터를 직접 가져올 수 있기 때문에 데이터를 가져온 후에 직접 처리 할 준비가되어 있어야합니다.

    하이브에서는 쿼리를 실행하여 결과를 HDFS에 쓰도록 지시 할 수 있습니다.

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

    Cloudera는 작년에 Sqoop 용 Teradata 용 커넥터를 발표 했으므로 원하는대로 정확하게 보여야합니다. 다음과 같이 할 수 있습니다.

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

    원하는 모든 시간에 모든 작업을 수행 할 수 있습니다. 결국 클러스터의 크기가 중요합니다. 원하는 경우 클러스터를 빠르게 확장 할 수 있습니다. Hive와 Sqoop의 좋은 점은 처리가 클러스터에 분산되어 일정을 완벽하게 제어 할 수 있다는 것입니다.

  2. ==============================

    2.오라클에서 HDFS로 데이터를 옮기는 오버 헤드 또는 대기 시간에 대해 염려가있는 경우 상용 소프트웨어 솔루션으로는 Dell 소프트웨어의 SharePlex가 있습니다. 그들은 최근 Oracle에서 Hadoop으로 테이블 데이터를 복제 할 수있는 Hadoop 용 커넥터를 출시했습니다. 여기에 더 많은 정보가 있습니다.

    오라클에서 HDFS로 데이터를 옮기는 오버 헤드 또는 대기 시간에 대해 염려가있는 경우 상용 소프트웨어 솔루션으로는 Dell 소프트웨어의 SharePlex가 있습니다. 그들은 최근 Oracle에서 Hadoop으로 테이블 데이터를 복제 할 수있는 Hadoop 용 커넥터를 출시했습니다. 여기에 더 많은 정보가 있습니다.

    매번 전체 데이터 세트를 다시 처리해야하는지 아니면 델타를 사용할 수 있는지 확실하지 않습니다. SharePlex는 또한 변경 데이터를 JMS 대기열로 복제하는 것을 지원합니다. 해당 대기열에서 읽는 Spout을 만들 수 있습니다. 당신은 또한 아마도 자신의 트리거 기반 솔루션을 구축 할 수 있지만 그것은 약간의 작업이 될 것입니다.

    Dell Software에 대한 공시로서

  3. from https://stackoverflow.com/questions/16890053/move-data-from-oracle-to-hdfs-process-and-move-to-teradata-from-hdfs by cc-by-sa and MIT license