草庐IT

gnome-shell

全部标签

hadoop - 如何使用 hdfs shell 命令检查文件是否存在

我是hadoop的新手,需要一点帮助。假设如果我使用shell脚本在后台运行作业,我如何知道作业是否完成。我问的原因是,作业完成后,我的脚本必须将输出文件移动到其他位置。我如何使用hdfs检查作业是否已完成或输出文件是否存在。谢谢MRK 最佳答案 您需要小心检测以这种方式完成的工作,因为在您的工作完全完成之前可能会有输出。为了回答您的直接问题,为了测试是否存在,我通常会执行hadoopfs-ls$output|wc-l然后确保数字大于0.我的建议是你使用&&来处理移动:hadoop...myjob.jar...&&hadoopfs-

shell - 将目录传递给 hadoop streaming : some help needed

上下文是我正在尝试在AmazonEMR(WebUI)上使用我运行的bash脚本运行流式作业:-inputs3://emrdata/test_data/input-outputs3://emrdata/test_data/output-mappers3://emrdata/test_data/scripts/mapperScript.sh-reducerNONE输入目录中有子目录,这些子目录中有gzip数据文件。mapperScript.sh失败的相关部分是:forfilenamein"$input"/*;dodir_name=`dirname$filename`fname=`basen

bash - 如何在不每次调用 shell 的情况下循环 HBase shell 中的命令

我编写了一个脚本来计算每2小时有多少条记录被插入到3个单独的HBase表中。我知道它很劣质,但效果很好,我检索到了所需的结果....但是,每次它在循环中工作时,我都必须调用HBaseshell。有没有办法改进我的代码,这样我就不必这样做来加快速度?#!/bin/bashdeclare-ahbaseTables=("table1""table2""table3");foriin"${hbaseTables[@]}"doecho$i>>results.txttime=1431925200000for((x=0;x>results.txtscan'$i',{TIMERANGE=>[$time

hadoop - Oozie shell 操作 - 运行 sqoop 命令并需要记录详细信息

我正在使用Oozie、shellaction和sqoop。我正在使用oozie来运行许多sqoop命令。我设置了一个shell操作,并在该shell中放置了许多sqoop命令。现在,shellAction被触发,甚至sqoop也在发生。但是,sqoop没有正确的日志记录。所以我将sqoop命令重定向到日志文件。我只看到以下几行。我的代码如下。在shell脚本中:*sqoopimport--connectjdbc:mysql://server:3306/test--verbose--usernameroot--passwordPassword--append--tablePeople--

hadoop - 为什么 oozie 向 yarn 提交 shell Action ?

我最近在学习oozie。我对shell的Action有点好奇。我正在执行包含类似shell命令的shell操作hadoopjar在运行此操作时,有两个yarn作业在运行,它们是一个用于hadoop作业一个用于shell操作我不明白为什么shellAction需要yarn来执行。我也试过电子邮件操作。它在没有yarn资源的情况下执行。 最佳答案 要回答这个问题,区别在于独立运行shell脚本(.sh文件或从CLI)作为oozie工作流程的一部分运行shell操作。(oozieshell操作中的shell脚本)第一种情况很明显。在第二种

shell - 列出目录中的所有文件夹名称 - unix shell 脚本

如何使用shell脚本获取所有文件夹的列表,目录存在于HDFS中。这是我尝试过的:#!/bin/kshecho"loadingfolders..."count=0forfolderin`hdfsdfs-ls-d/user/data/*`doif[-d"$folder"]thencount=`expr$count+1`echo${d}fidoneecho${count}程序结束时count变量的值为0。 最佳答案 你需要询问hdfs文件夹是否是一个目录,而不是bash。ifhdfsdfs-test-d"$folder";then

shell - 如何使用在 oozie 中执行的脚本访问本地目录?

我在我的机器上运行CDH4.5和virtualbox。在VM中,我有一个本地目录:/home/cloudera/logs/abc.log,我想做一件非常简单的事情,我在oozie中安排了一个非常简单的脚本来复制>abc.log到HDFS(/user/cloudera/logs/).计划的作业已执行,但在stderr中,它向我显示:无法访问/home/cloudera/logs/abc.log:没有那个文件或目录无论如何,有什么可以让这个工作的吗?因为我想用oozie安排一个脚本,每天将文件从本地复制到HDFS作为一项沐浴工作。谢谢!! 最佳答案

scala - 将几个变量从 scala/spark-shell 提供给配置单元表

我在scala/spark-shell中有4个变量。S1=(astring)="age"S2=(anotherstring)="school"D1=(adouble)=0.50D2=(anotherdouble)=0.75我需要像这样将其提供给配置单元表:因子系数0.50岁学校0.75我能够从scala/spark-shell创建表:valhiveContext=neworg.apache.spark.sql.hive.HiveContext(sc)//后续作品hiveContext.sql("createtablestudents_table(factorSTRING,coeffFL

hadoop - 在每个 EMR/Yarn 节点上运行 Unix shell 命令

我想在AmazonEMR集群中的每个节点上安装一个Python模块。看起来最明显的方法是通过ssh连接到每个节点并在命令行安装它。我将YARN视为在集群中的每个节点上运行相同JAR文件的一种方式,但YARN的“jar”命令似乎在本地系统上运行。 最佳答案 您可以使用bootstrap在启动集群时在每个EMR节点上安装第3方软件。如果您使用命令行,您可以传递保存在s3中的shell脚本作为引导操作的一部分。awsemrcreate-cluster--name"Testcluster"--ami-version3.3\--use-def

shell - Oozie shell 操作 - 从 shell 问题运行配置单元

基于条件为真,我在shell脚本中执行hive-e。它工作正常。当我将此脚本放入Oozie的Shell操作中并运行时,我得到一个scriptName.sh:第42行:hive:commandnot发现异常。我尝试在shell操作中传递PATH=/usr/lib/hive,但我想我在那里犯了一些错误,因为我得到了相同的错误scriptName.sh:第42行:配置单元:找不到命令已编辑:我在shell脚本中使用了whichhive。它的输出不一致。我得到两种输出变体:1./usr/bin/hive以及Delegationtokencanbeissuedonlywithkerberosor