Hi,
 For sqoop, I would like to implement the following operation??
#!/usr/bin/env bash
# Need to use sqoop to import multiple tables
# sqoop.sh
for table in test1 test2 test3 test4 test5 test6 .....
do
    sqoop import .....
done
but,Oozie seems to be only scheduling a sqoop-action 
so,I would like to bulk sqoop through the implementation of shell
<workflow-app xmlns="uri:oozie:workflow:0.5" name="shell-python">
    <start to="shell-sqoop"/>
    <action name="shell-sqoop">
        <shell xmlns="uri:oozie:shell-action:0.1">
            <job-tracker>${jobTracker}</job-tracker>
            <name-node>${nameNode}</name-node>
            <prepare>
                <delete path="${nameNode}/user/${wf:user()}/src_bbd_hguan"/>
            </prepare>
            <configuration>
                <property>
                    <name>mapred.job.queue.name</name>
                    <value>${queueName}</value>
                </property>
            </configuration>
            <exec>sqoop.sh</exec>
            <file>sqoop.sh#sqoop.sh</file>
            <capture-output/>
        </shell>
        <ok to="end"/>
        <error to="fail"/>
    </action>
    <kill name="fail">
        <message>Map/Reduce failed, error 
message[${wf:errorMessage(wf:lastErrorNode())}]</message>
    </kill>
    <end name="end"/>
</workflow-app>
but yarn logs appears below the exception??


2016-09-06 17:41:06,682 INFO [Thread-56] 
org.apache.hadoop.mapreduce.jobhistory.JobHistoryEventHandler: Stopped 
JobHistoryEventHandler. super.stop()
2016-09-06 17:41:06,683 INFO [Thread-56] 
org.apache.hadoop.mapreduce.v2.app.rm.RMContainerAllocator: Setting job 
diagnostics to Job init failed : 
org.apache.hadoop.yarn.exceptions.YarnRuntimeException: 
java.io.FileNotFoundException: File does not exist: 
hdfs://kunlundev02:8020/user/bbd/.staging/job_1470312512846_0152/job.splitmetainfo
        at 
org.apache.hadoop.mapreduce.v2.app.job.impl.JobImpl$InitTransition.createSplits(JobImpl.java:1580)
        at 
org.apache.hadoop.mapreduce.v2.app.job.impl.JobImpl$InitTransition.transition(JobImpl.java:1444)
        at 
org.apache.hadoop.mapreduce.v2.app.job.impl.JobImpl$InitTransition.transition(JobImpl.java:1402)
        at 
org.apache.hadoop.yarn.state.StateMachineFactory$MultipleInternalArc.doTransition(StateMachineFactory.java:385)
        at 
org.apache.hadoop.yarn.state.StateMachineFactory.doTransition(StateMachineFactory.java:302)
        at 
org.apache.hadoop.yarn.state.StateMachineFactory.access$300(StateMachineFactory.java:46)
        at 
org.apache.hadoop.yarn.state.StateMachineFactory$InternalStateMachine.doTransition(StateMachineFactory.java:448)
        at 
org.apache.hadoop.mapreduce.v2.app.job.impl.JobImpl.handle(JobImpl.java:996)
        at 
org.apache.hadoop.mapreduce.v2.app.job.impl.JobImpl.handle(JobImpl.java:138)
        at 
org.apache.hadoop.mapreduce.v2.app.MRAppMaster$JobEventDispatcher.handle(MRAppMaster.java:1333)
        at 
org.apache.hadoop.mapreduce.v2.app.MRAppMaster.serviceStart(MRAppMaster.java:1101)
        at 
org.apache.hadoop.service.AbstractService.start(AbstractService.java:193)
        at 
org.apache.hadoop.mapreduce.v2.app.MRAppMaster$4.run(MRAppMaster.java:1540)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:422)
        at 
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1693)
        at 
org.apache.hadoop.mapreduce.v2.app.MRAppMaster.initAndStartAppMaster(MRAppMaster.java:1536)
        at 
org.apache.hadoop.mapreduce.v2.app.MRAppMaster.main(MRAppMaster.java:1469)
Caused by: java.io.FileNotFoundException: File does not exist: 
hdfs://kunlundev02:8020/user/bbd/.staging/job_1470312512846_0152/job.splitmetainfo
        at 
org.apache.hadoop.hdfs.DistributedFileSystem$19.doCall(DistributedFileSystem.java:1219)
        at 
org.apache.hadoop.hdfs.DistributedFileSystem$19.doCall(DistributedFileSystem.java:1211)
        at 
org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
        at 
org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:1211)
        at 
org.apache.hadoop.mapreduce.split.SplitMetaInfoReader.readSplitMetaInfo(SplitMetaInfoReader.java:51)
        at 
org.apache.hadoop.mapreduce.v2.app.job.impl.JobImpl$InitTransition.createSplits(JobImpl.java:1575)
        ... 17 more







------------------ ???????? ------------------
??????: "Peter Cseh";<[email protected]>;
????????: 2016??9??6??(??????) ????8:11
??????: "user"<[email protected]>; 

????: Re: oozie execute shell(content hive or sqoop command)



Hi,
you may use the Sqoop action to do the import:
https://oozie.apache.org/docs/4.2.0/DG_SqoopActionExtension.html

gp

On Tue, Sep 6, 2016 at 1:51 PM, wangwei <[email protected]> wrote:

> Hi,
>  I have a scene, there are a lot of tables need to use the sqoop import
> mysql, so I need to write the sqoop in the shell script, to cycle through
> all the tables.
>   It still appears the same error??
>
>
>
>
> ------------------ ???????? ------------------
> ??????: "satish saley";<[email protected]>;
> ????????: 2016??9??6??(??????) ????7:21
> ??????: "user"<[email protected]>;
>
> ????: Re: oozie execute shell(content hive or sqoop command)
>
>
>
> Hi,
> For hive scripts, use hive-action. It would easy to follow the pipeline for
> others and to debug since oozie will show the hive job url directly in the
> UI.
>
> https://oozie.apache.org/docs/4.2.0/DG_HiveActionExtension.html
> https://oozie.apache.org/docs/4.2.0/DG_Hive2ActionExtension.html
>
> On Tue, Sep 6, 2016 at 3:21 AM, wangwei <[email protected]> wrote:
>
> > Hi:
> >  my shell content: hive.sh
> >   #!/bin/bash
> >   hive -e "select count(*) from test;"
> >  my workflow content:workflow.xml
> >
> > The following error occurred??
> >
> > How to solve?,Please
> >
> >
> >
> >
>



-- 
Peter Cseh
Software Engineer
<http://www.cloudera.com>

Reply via email to