Oracle Sqoop检索0条记录

时间:2015-03-24 03:02:25

标签: hadoop sqoop

我在Oracle XE 11g中有一个表

SQL> create table bloblkup (
  2  id NUMBER PRIMARY KEY,
  3  name varchar(28) NOT NULL,
  4  fdata BLOB
  5  );

Table created.

SQL> desc bloblkup
 Name                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 ID                    NOT NULL NUMBER
 NAME                      NOT NULL VARCHAR2(28)
 FDATA                          BLOB

填充

SQL> select * from bloblkup;

    ID NAME
---------- ----------------------------
FDATA
--------------------------------------------------------------------------------
     1 photo.jpg
032135435135

从群集中我尝试将此表格转换为HDFS

sqoop import --connect jdbc:oracle:thin:@Rhea:1521:xe --username SYSTEM --password oracle --table bloblkup --columns 'name' -m 1

每次执行完成但提供INFO

15/03/24 09:14:39 INFO mapreduce.ImportJobBase: Retrieved 0 records.

我可以检索数据库和表格。

我以创建并拥有该表的系统登录。

我还发现我可以查询诸如all_tables之类的表,并且返回的行不是我通过sqlplus创建的表>

我在第一次尝试失败后添加了-m 1标志,因为无法找到该表的主键。我使用alter table在表中添加了一个主键而没有更改。

想法?

控制台输出:

[root@sandbox ~]# sqoop import --connect jdbc:oracle:thin:@Rhea:1521:xe --username SYSTEM --password oracle --table bloblkup --columns 'name' -m 1
Warning: /usr/lib/sqoop/../accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
15/03/24 09:14:02 INFO sqoop.Sqoop: Running Sqoop version: 1.4.4.2.1.1.0-385
15/03/24 09:14:02 WARN tool.BaseSqoopTool: Setting your password on the command-line is insecure. Consider using -P instead.
15/03/24 09:14:02 INFO manager.SqlManager: Using default fetchSize of 1000
15/03/24 09:14:02 INFO tool.CodeGenTool: Beginning code generation
15/03/24 09:14:04 INFO manager.OracleManager: Time zone has been set to GMT
15/03/24 09:14:05 INFO manager.SqlManager: Executing SQL statement: SELECT t.* FROM bloblkup t WHERE 1=0
15/03/24 09:14:05 INFO orm.CompilationManager: HADOOP_MAPRED_HOME is /usr/lib/hadoop-mapreduce
Note: /tmp/sqoop-root/compile/ce267f99c7e1b14da474c2c395368b67/bloblkup.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
15/03/24 09:14:08 INFO orm.CompilationManager: Writing jar file: /tmp/sqoop-root/compile/ce267f99c7e1b14da474c2c395368b67/bloblkup.jar
15/03/24 09:14:08 INFO manager.OracleManager: Time zone has been set to GMT
15/03/24 09:14:08 INFO mapreduce.ImportJobBase: Beginning import of bloblkup
15/03/24 09:14:09 INFO Configuration.deprecation: mapred.jar is deprecated. Instead, use mapreduce.job.jar
15/03/24 09:14:10 INFO Configuration.deprecation: mapred.map.tasks is deprecated. Instead, use mapreduce.job.maps
15/03/24 09:14:10 INFO client.RMProxy: Connecting to ResourceManager at sandbox.hortonworks.com/192.168.1.91:8050
15/03/24 09:14:12 INFO db.DBInputFormat: Using read commited transaction isolation
15/03/24 09:14:13 INFO mapreduce.JobSubmitter: number of splits:1
15/03/24 09:14:13 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1427151026592_0037
15/03/24 09:14:14 INFO impl.YarnClientImpl: Submitted application application_1427151026592_0037
15/03/24 09:14:14 INFO mapreduce.Job: The url to track the job: http://sandbox.hortonworks.com:8088/proxy/application_1427151026592_0037/
15/03/24 09:14:14 INFO mapreduce.Job: Running job: job_1427151026592_0037
15/03/24 09:14:27 INFO mapreduce.Job: Job job_1427151026592_0037 running in uber mode : false
15/03/24 09:14:27 INFO mapreduce.Job:  map 0% reduce 0%
15/03/24 09:14:38 INFO mapreduce.Job:  map 100% reduce 0%
15/03/24 09:14:39 INFO mapreduce.Job: Job job_1427151026592_0037 completed successfully
15/03/24 09:14:39 INFO mapreduce.Job: Counters: 30
    File System Counters
        FILE: Number of bytes read=0
        FILE: Number of bytes written=107031
        FILE: Number of read operations=0
        FILE: Number of large read operations=0
        FILE: Number of write operations=0
        HDFS: Number of bytes read=87
        HDFS: Number of bytes written=0
        HDFS: Number of read operations=4
        HDFS: Number of large read operations=0
        HDFS: Number of write operations=2
    Job Counters
        Launched map tasks=1
        Other local map tasks=1
        Total time spent by all maps in occupied slots (ms)=8553
        Total time spent by all reduces in occupied slots (ms)=0
        Total time spent by all map tasks (ms)=8553
        Total vcore-seconds taken by all map tasks=8553
        Total megabyte-seconds taken by all map tasks=2138250
    Map-Reduce Framework
        Map input records=0
        Map output records=0
        Input split bytes=87
        Spilled Records=0
        Failed Shuffles=0
        Merged Map outputs=0
        GC time elapsed (ms)=76
        CPU time spent (ms)=2170
        Physical memory (bytes) snapshot=145907712
        Virtual memory (bytes) snapshot=897458176
        Total committed heap usage (bytes)=75497472
    File Input Format Counters
        Bytes Read=0
    File Output Format Counters
        Bytes Written=0
15/03/24 09:14:39 INFO mapreduce.ImportJobBase: Transferred 0 bytes in 28.8478 seconds (0 bytes/sec)
15/03/24 09:14:39 INFO mapreduce.ImportJobBase: Retrieved 0 records.

2 个答案:

答案 0 :(得分:0)

如果不将ojdbc6.jar文件复制到:

,请检查jdbc驱动程序是否在$ SQOOP_HOME / lib下

/ usr / lib / sqoop / lib / directory

从控制台提供更多详细信息。

如果一切正常,请添加--target-dir以查看该特定目录的输出。

        /usr/bin/sqoop import --connect jdbc:oracle:thin:system/system@<IP address>:1521:xe  --username <username> -P--table <database name>.<table name> --columns "<column names>" --target-dir  <target directory path> -m 1

答案 1 :(得分:0)

更新Oracle驱动程序版本ojdbc6.jar似乎可以正常工作,但是使用ojdbc7.jar

可以使用JDK 1.7

此外,您必须在SQLPLUS中“提交”数据库更改才能使其保持