Databases Reference
In-Depth Information
<job-tracker> foo:8021 </job-tracker>
<name-node> bar:8020 </name-node>
<configuration>
<property>
<name> sqoop.export.statements.per.transaction </name>
<value> 1 </value>
</property>
</configuration>
<command> import --table cities --connect ... </command>
</sqoop>
<ok to= "next" />
<error to= "error" />
</action>
...
</workflow-app>
Discussion
Property parameters entered with -D are processed differently than the usual Sqoop
parameters. Whereas the normal command-line parameters are passed directly and are
fully processed by Sqoop, the property parameters are preprocessed before the Sqoop
execution and put into a Hadoop configuration object that Sqoop will load and use.
Since Oozie is not using the Sqoop shell script but directly calling the Sqoop binaries,
there is no preprocessing stage. The -D parameters are not loaded when they are speci‐
fied inside the <command> or <arg> tags. Oozie has a very generic way of altering the
default configuration object using the <configuration> tag. You need to put all -D
parameters that you're using into the configuration section in order to properly prop‐
agate them into Sqoop.
6.4. Installing JDBC Drivers in Oozie
Problem
Sqoop works correctly when executed from the command line, but in Oozie it cannot
find the JDBC drivers.
Solution
You need to install the JDBC drivers into Oozie separately. You have two options: install
the driver either into your workflow's lib/ directory or into the shared action library
location usually found at /user/oozie/share/lib/sqoop/ .
Discussion
Due to licensing, Sqoop does not ship with any JDBC drivers. You have to manually
download the drivers from the applicable vendors' websites and install them into Sqoop,
Search WWH ::




Custom Search