小编buz*_*ops的帖子

如何在shell脚本中以格式%Y%m%d打印两个日期之间的日期?

我有两个参数作为输入: startdate=20160512enddate=20160514.

我希望能够在我的bash脚本中生成这两个日期之间的日期,不包括startdate,但包括enddate:

20160513 20160514我正在使用linux机器.我该如何做到这一点?谢谢.

bash shell date

6
推荐指数
1
解决办法
5811
查看次数

如何在火花作业完成并关闭上下文后查看火花作业的日志?

我运行pyspark,spark 1.3,standalone mode,client mode.

我试图通过查看过去的工作并比较它们来调查我的火花工作.我想查看他们的日志,提交作业的配置设置等等.但是我在上下文关闭后查看作业日志时遇到了麻烦.

当我提交工作时,我当然会打开一个火花背景.当作业运行时,我可以使用ssh隧道打开spark web UI.而且,我可以访问转发的端口localhost:<port no>.然后我可以查看当前正在运行的作业以及已完成的作业,如下所示:

spark web ui的例子

然后,如果我希望查看特定作业的日志,我可以通过使用ssh隧道端口转发来查看该作业的特定计算机的特定端口上的日志.

然后,有时作业失败,但上下文仍然是开放的.发生这种情况时,我仍然可以通过上述方法查看日志.

但是,由于我不想让所有这些上下文同时打开,当作业失败时,我会关闭上下文.当我关闭上下文时,作业将显示在上图中的"已完成的应用程序"下.现在,当我尝试使用ssh隧道端口转发来查看日志时,就像之前的那样(localhost:<port no>),它给了我一个page not found.

关闭上下文后如何查看作业的日志?而且,这spark context对于日志与日志之间的关系意味着什么呢?谢谢.

同样,我运行pyspark,spark 1.3,standalone mode,client mode.

ssh tunneling apache-spark pyspark apache-spark-1.3

5
推荐指数
1
解决办法
3178
查看次数

如何评估变量bash脚本中的变量?

我有一堆像这样的数组:

array1=("A" "B")
array2=("C" "D")
array3=("E" "F" "G")
Run Code Online (Sandbox Code Playgroud)

我想循环遍历数组,以及每个数组中的元素.以下是我试图完成此任务的方法:

for i in `seq 1 2`
do 
    for elm in ${array${i}[@]}
    do
        echo "the element in array$i is $elm" 
    done
done
Run Code Online (Sandbox Code Playgroud)

但是,这给了我:

./new_test.sh: line 6: ${array${i}[@]}: bad substitution
Run Code Online (Sandbox Code Playgroud)

我有点知道我正在做的事情是错的,因为我不想让第一个$评估${i}它的内部.

我该如何防止这种情况?

macos bash shell bsd

2
推荐指数
1
解决办法
90
查看次数

标签 统计

bash ×2

shell ×2

apache-spark ×1

apache-spark-1.3 ×1

bsd ×1

date ×1

macos ×1

pyspark ×1

ssh ×1

tunneling ×1