如何在Hue里面使用Sqoop的options-file
2017-06-26 17:52
375 查看
如何在Hue里面使用Sqoop的options-file
项目里面用Hue的workflow 来做Sqoop抽取作业,因为数据库密码会在日志里面明文显示的问题,因此要找到一个方法来解决明文显示的问题。
在这里采用sqoop 中–options-file选项来解决密码明文显示的问题,但是在workflow中使用hue时碰到Unable to read options file的问题
结合网上的资料,要解决该问题,需要在workflow生成的xml文档中添加几项内容:
同时在 job.properties文件中添加变量值:
但是手动去修改hdfs上的workflow.xml文件后 ,再次去调用作业发现xml被覆盖掉,问题依旧存在,因此只有从前台的界面将这几个参数传进去。
经过多次实验后,终于找到从前台传进这些参数的方法,后面就不再细说,直接上操作流程:
1、添加Sqoop参数,–options-file 以及一个变量名${optionFile}用来后续将文件名传入,
2、添加配置文件,点击文件,选择正确的配置文件,点击确定。
3、添加变量值,点击作业的配置,在变量区域增加optionFile变量,并赋值,赋给该变量的值需为配置文件的文件名
然后保存运行,作业能够顺利执行通过,达到预期的结果。
参考链接:https://stackoverflow.com/questions/28567815/oozie-sqoop-optionsfile-gives-file-not-found-exception
https://community.cloudera.com/t5/Web-UI-Hue-Beeswax/Hue-Sqoop-through-Oozie-Passing-Parameter-values/td-p/47108
项目里面用Hue的workflow 来做Sqoop抽取作业,因为数据库密码会在日志里面明文显示的问题,因此要找到一个方法来解决明文显示的问题。
在这里采用sqoop 中–options-file选项来解决密码明文显示的问题,但是在workflow中使用hue时碰到Unable to read options file的问题
ERROR org.apache.sqoop.Sqoop - Error while expanding arguments java.lang.Exception: Unable to read options file: /user/hue/oozie/workspaces/hue-oozie-1498288877.39/ods_conf at org.apache.sqoop.util.OptionsFileUtil.expandArguments(OptionsFileUtil.java:102) at com.cloudera.sqoop.util.OptionsFileUtil.expandArguments(OptionsFileUtil.java:33) at org.apache.sqoop.Sqoop.runTool(Sqoop.java:199) at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227) at org.apache.sqoop.Sqoop.main(Sqoop.java:236) at org.apache.oozie.action.hadoop.SqoopMain.runSqoopJob(SqoopMain.java:197) at org.apache.oozie.action.hadoop.SqoopMain.run(SqoopMain.java:177) at org.apache.oozie.action.hadoop.LauncherMain.run(LauncherMain.java:49) at org.apache.oozie.action.hadoop.SqoopMain.main(SqoopMain.java:46) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.oozie.action.hadoop.LauncherMapper.map(LauncherMapper.java:236) at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54) at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:453) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:343) at org.apache.hadoop.mapred.LocalContainerLauncher$EventHandler.runSubtask(LocalContainerLauncher.java:388) at org.apache.hadoop.mapred.LocalContainerLauncher$EventHandler.runTask(LocalContainerLauncher.java:302) at org.apache.hadoop.mapred.LocalContainerLauncher$EventHandler.access$200(LocalContainerLauncher.java:187) at org.apache.hadoop.mapred.LocalContainerLauncher$EventHandler$1.run(LocalContainerLauncher.java:230) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util 9ae7 .concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: java.io.FileNotFoundException: /user/hue/oozie/workspaces/hue-oozie-1498288877.39/ods_conf (No such file or directory) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(FileInputStream.java:146) at java.io.FileReader.<init>(FileReader.java:72) at org.apache.sqoop.util.OptionsFileUtil.expandArguments(OptionsFileUtil.java:70) ... 25 more
结合网上的资料,要解决该问题,需要在workflow生成的xml文档中添加几项内容:
<arg>--options-file</arg> <arg>${optionFile}</arg> <file>/user/appman/ods_conf#ods_conf</file>
同时在 job.properties文件中添加变量值:
option File=ods_conf
但是手动去修改hdfs上的workflow.xml文件后 ,再次去调用作业发现xml被覆盖掉,问题依旧存在,因此只有从前台的界面将这几个参数传进去。
经过多次实验后,终于找到从前台传进这些参数的方法,后面就不再细说,直接上操作流程:
1、添加Sqoop参数,–options-file 以及一个变量名${optionFile}用来后续将文件名传入,
2、添加配置文件,点击文件,选择正确的配置文件,点击确定。
3、添加变量值,点击作业的配置,在变量区域增加optionFile变量,并赋值,赋给该变量的值需为配置文件的文件名
然后保存运行,作业能够顺利执行通过,达到预期的结果。
参考链接:https://stackoverflow.com/questions/28567815/oozie-sqoop-optionsfile-gives-file-not-found-exception
https://community.cloudera.com/t5/Web-UI-Hue-Beeswax/Hue-Sqoop-through-Oozie-Passing-Parameter-values/td-p/47108
相关文章推荐
- 使用sqoop --options-file 导入hive数据
- 使用sqoop --options-file 导入hive数据
- 如何在DataGrid里面使用动态图形表示数字
- 使用FileSystemWatcher监测大文件时,如何判断文件已经创建完成?
- 如何在ASP.NET项目里面正确使用Linq to Sql
- 如何在 ASP.NET项目里面正确使用Linq to Sql(转)
- 如何在 sharepoint里面 使用ajax 和 ajaxtoolkit ?
- 如何在DataGrid里面使用动态图形表示数字
- Solr1.4如何不使用默认的复合文件结构(CompoundFile)
- 在WPF里面如何使用FolderBrowserDialog
- Scott 教我们如何在VS2008里面使用 Jquery
- openFileDialog如何使用
- 如何在DataGrid里面使用动态图形表示数字
- 如何安装并使用Windows Symbol File
- 如何在 sql server 2005 中使用 dbcc shrinkfile 语句收缩事务日志文件
- 如何使用 restore controlfile from autobackup ?
- 如何限制在一个表格里面禁止使用右键
- 如何安装并使用Windows Symbol File
- 如何在 SQL Server 2005 中使用 DBCC SHRINKFILE 语句收缩事务日志文件-数据库知识
- 你们帮我看看如何在datalist里面使用session获取ID值代码改怎么写啊麻烦了