Apache Sqoop에 관한 고유 한 쿼리가 있습니다. 내 HDFS 파일에 아파치 Sqoop 가져 오기 기능을 사용하여 데이터를 가져 왔습니다.Sqoop SQL 서버로 내보내기 VS 대량 SQL 서버에 삽입
다음으로,. Hadoop (Sqoop)을 사용하여 다른 데이터베이스에 데이터를 다시 저장해야합니다 (기본적으로 한 데이터베이스 공급 업체에서 다른 데이터베이스 공급 업체로 데이터 전송을 수행하고 있습니다).
SQL Server에 데이터를 넣으려면 두 가지 옵션이 있습니다.
1) Sqoop 내보내기 기능을 사용하여 RDBMS (SQL 서버)에 연결하고 데이터를 직접 내 보냅니다.
2) copyToLocal 명령을 사용하여 HDFS 데이터 파일 (CSV 형식)을 내 로컬 컴퓨터에 복사 한 다음 해당 CSV 파일에 대해 BCP (또는 대량 삽입 쿼리)를 수행하여 데이터를 SQL Server 데이터베이스에 저장합니다.
나는 완벽하게 (또는 오히려 올바른) 접근 방식을 알고 싶습니다. 두 가지 중 어느 것이 더 빠릅니까? - HDFS에서 RDBMS 로의 일괄 삽입 또는 Apache Sqoop 내보내기. ??
하나의 데이터베이스 공급 업체에서 다른 데이터베이스 공급 업체로 더 빠르게 이전 할 수있는 위에서 언급 한 두 가지 방법 외에 다른 방법이 있습니까? 나는 6-7 매퍼를 사용하고
제안하고 친절하게 내 질문이 명확하지 않다 있으면 알려 주시기 바랍니다 (기록이 전송되는 약 20 ~ 25 백만입니다).
미리 감사드립니다.
감사합니다. Remus, 내 질문에 대한 답변입니다. 고마워. – user2648569
@Remus : 하나의 공급 업체에서 다른 공급 업체로의 ETL이 아닌 경우 하이브/hdfs에서 SQL 서버로 내보내기위한 목적으로 BCP 및 SQOOP 중에서 가장 좋은 옵션입니다. – loknath