我有一个需要澄清的问题,以及使用云数据融合的两个错误: 背景:创建管道以使用云数据融合将数据从Oracle中的单个表(版本11.2.0.4,本地服务器)移至BigQuery。我已经从即时客户端11.2.0.4.0下载了Oracle JDBC驱动程序,并将ojdbc6.jar文件用作以下部署的oracle驱动程序。如果使用较新的版本,则会出现日期错误。
清晰度:似乎有3个地方可以加载OJDBC驱动程序:
(a)Wrangler数据库列表(例如:sbl),单击“编辑”,它将要求我安装Oracle驱动程序或Oracle Thin Driver。我需要输入Oracle类(我复制了示例oracle.jdbc.driver.OracleDriver)。如果我不这样做,而是选择瘦客户机,则在尝试查看Wrangler-> Database下的数据库对象时收到错误消息。如果仅执行此操作而不是其他操作之一,则在验证管道中的源时会收到一条消息,提示尚未部署oracle插件。
(b)单击HUB并选择Drivers,我看到Oracle 12c JDBC Drver v12c的选项。如果选择Oracle选项,则会提示您下载Oracle 12c JDBC驱动程序,然后通过将驱动程序拖到窗口中来部署该驱动程序(此时没有配置选项)。
(c)单击HUB和插件,然后看到Oracle导出操作插件1.7.0版或Oracle插件1.2.0版的选项。如果单击“ Oracle插件”选项,则可以选择“部署”。
为澄清起见,我需要使用以下哪些选项或组合来部署适当的驱动程序和插件来访问oracle数据库作为源?
错误1: 如果我使用上面的(c)选项,我将在源代码中看到一个Oracle选项。我选择,进入我的驱动程序名称(同名正如我上面给(例如:ojdbc6),主机连接凭据和所有相关信息,当我选择验证按钮,我得到以下错误:插件类型的名为“甲骨文”未找到batchsource”。请确保已经部署了类型为“ batchsource”的插件“ Oracle”。不确定要用于部署的上述选项,并且我尝试了不同的组合,但均未成功。一个选择。
错误2: 我选择“数据库”作为源(不是Oracle)。我输入插件名称(与上面在选项(a)中使用的名称匹配。我输入连接字符串:jdbc:oracle:thin@1.1.20.1:1521:sbl和所有连接信息。我验证它传递并填充输出模式(具有正确的列和数据类型),我选择BigQuery作为接收器,然后连接源和接收器之间的箭头,接收器被更新为适当地包括源和目标列。验证并通过。然后我进行“预览”和“运行”。大约31秒后,我收到以下警告和错误消息:
Warning: In spark 1.0 and later spark.local.dir will be overridden by the value set by the cluster manager (via spark_local_dirs in mesos/standalone and local_dirs in yarn)
org.apache.spark.SparkConf#66-spark-submitter-phase-1-e4706b9a-3c7e-11ea-bb5c-36e9df22dd3d
Error:
org.apache.spark.executor.Executor#91-Executor task launch worker for task 0 E
java.lang.NullPointerException: null
at org.apache.hadoop.mapreduce.lib.db.DataDrivenDBInputFormat.createDBRecordReader(DataDrivenDBInputFormat.java:281) ~[hadoop-mapreduce-client-core-2.9.2.jar:na]
at io.cdap.plugin.db.batch.source.DataDrivenETLDBInputFormat.createDBRecordReader(DataDrivenETLDBInputFormat.java:124) ~[1579632628793-0/:na]
at org.apache.hadoop.mapreduce.lib.db.DBInputFormat.createRecordReader(DBInputFormat.java:245) ~[hadoop-mapreduce-client-core-2.9.2.jar:na]
at io.cdap.cdap.etl.batch.preview.LimitingInputFormat.createRecordReader(LimitingInputFormat.java:51) ~[cdap-etl-core-6.1.0.jar:na]
at org.apache.spark.rdd.NewHadoopRDD$$anon$1.liftedTree1$1(NewHadoopRDD.scala:187) ~[spark-core_2.11-2.3.3.jar:2.3.3]
at org.apache.spark.rdd.NewHadoopRDD$$anon$1.<init>(NewHadoopRDD.scala:186) ~[spark-core_2.11-2.3.3.jar:2.3.3]
at org.apache.spark.rdd.NewHadoopRDD.compute(NewHadoopRDD.scala:141) ~[spark-core_2.11-2.3.3.jar:2.3.3]
at org.apache.spark.rdd.NewHadoopRDD.compute(NewHadoopRDD.scala:70) ~[spark-core_2.11-2.3.3.jar:2.3.3]
at io.cdap.cdap.app.runtime.spark.data.DatasetRDD.compute(DatasetRDD.scala:58) ~[io.cdap.cdap.cdap-spark-core2_2.11-6.1.0.jar:na]
at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:324) ~[spark-core_2.11-2.3.3.jar:2.3.3]
at org.apache.spark.rdd.RDD.iterator(RDD.scala:288) ~[spark-core_2.11-2.3.3.jar:2.3.3]
at org.apache.spark.rdd.UnionRDD.compute(UnionRDD.scala:105) ~[spark-core_2.11-2.3.3.jar:2.3.3]
at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:324) ~[spark-core_2.11-2.3.3.jar:2.3.3]
at org.apache.spark.rdd.RDD.iterator(RDD.scala:288) ~[spark-core_2.11-2.3.3.jar:2.3.3]
at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:49) ~[spark-core_2.11-2.3.3.jar:2.3.3]
at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:324) ~[spark-core_2.11-2.3.3.jar:2.3.3]
at org.apache.spark.rdd.RDD.iterator(RDD.scala:288) ~[spark-core_2.11-2.3.3.jar:2.3.3]
at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:49) ~[spark-core_2.11-2.3.3.jar:2.3.3]
at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:324) ~[spark-core_2.11-2.3.3.jar:2.3.3]
at org.apache.spark.rdd.RDD.iterator(RDD.scala:288) ~[spark-core_2.11-2.3.3.jar:2.3.3]
at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:49) ~[spark-core_2.11-2.3.3.jar:2.3.3]
at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:324) ~[spark-core_2.11-2.3.3.jar:2.3.3]
at org.apache.spark.rdd.RDD.iterator(RDD.scala:288) ~[spark-core_2.11-2.3.3.jar:2.3.3]
at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:87) ~[spark-core_2.11-2.3.3.jar:2.3.3]
at org.apache.spark.scheduler.Task.run(Task.scala:109) ~[spark-core_2.11-2.3.3.jar:2.3.3]
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:345) ~[spark-core_2.11-2.3.3.jar:2.3.3]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_232]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_232]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_232]
答案 0 :(得分:0)
很抱歉,您的回复很晚。这是当前Cloud Data Fusion版本(https://issues.cask.co/browse/CDAP-16453)中的一个已知问题。带数据库插件的预览版在当前版本中不起作用。因此,请在已部署的管道上进行尝试。
此问题已在即将发布的即将发布的版本中得到解决。