복붙노트

[HADOOP] 오라클에서 BLOB (이미지)를 하이브로 가져 오기

HADOOP

오라클에서 BLOB (이미지)를 하이브로 가져 오기

아래의 Sqoop 명령을 사용하여 BLOB (이미지) 데이터 폼 오라클을 Hive로 가져 오려고합니다.

sqoop import --connect jdbc:oracle:thin:@host --username --password  --m 3 --table tablename  --hive-drop-import-delims  --hive-table tablename --target-dir '' --split-by id;

그러나 성공하지 못했습니다. 기억하라, BLOB 데이터는 Oracle 데이터베이스에 16 진수로 저장되며 텍스트 또는 bianary로이 테이블을 Hive 테이블에 저장해야한다.

그렇게 할 수있는 방법은 무엇입니까?

해결법

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

    1.Sqoop은 oracle의 blob 데이터 유형을 Hive에 매핑하는 법을 모릅니다. 그래서 당신은 --map-column-hive를 지정해야합니다. COLUMN_BLOB = binary

    Sqoop은 oracle의 blob 데이터 유형을 Hive에 매핑하는 법을 모릅니다. 그래서 당신은 --map-column-hive를 지정해야합니다. COLUMN_BLOB = binary

    sqoop import --connect 'jdbc:oracle:thin:@host' --username $USER --password $Password  --table $TABLE  --hive-import --hive-table $HiveTable  --map-column-hive COL_BLOB=binary --delete-target-dir --target-dir $TargetDir  -m 1 -verbose
    
  2. from https://stackoverflow.com/questions/37703129/import-blob-image-from-oracle-to-hive by cc-by-sa and MIT license