你好,我有一个像这样的 shell 命令。
s3=$(awk 'BEGIN{ print "S3 bucket path" }
/Executing command\(queryId/{ sub(/.*queryId=[^[:space:]]+: /,""); q=$0 }
/s3:\/\//{ print "," $10 }' OFS=',' hive-server2.log)
Run Code Online (Sandbox Code Playgroud)
上面命令的输出是这样的。
echo $s3
2018-02-21T17:58:22,
2018-02-21T17:58:26,
2018-02-21T18:05:33,
2018-02-21T18:05:34
Run Code Online (Sandbox Code Playgroud)
我只想选择最后一行。我需要这样的最后一个输出。
2018-02-21T18:05:34
Run Code Online (Sandbox Code Playgroud)
我这样尝试过。
awk -v $s3 '{print $(NF)}'
Run Code Online (Sandbox Code Playgroud)
不起作用。任何帮助将不胜感激。
嗨,我有两张这样的桌子.
源表
orig1 orig2 orig3 xref1 xref2 xref3
1 1 1 2 2 2
1 1 1 3 3 3
23 23 23 12 12 12
Run Code Online (Sandbox Code Playgroud)
目标表:
orig1 orig2 orig3 xref1 xref2 xref3 version
1 1 1 1 1 1 0
Run Code Online (Sandbox Code Playgroud)
我需要输出如下
1)我需要匹配(source(orig1 orig2 orig3) == target(orig1 orig2 orig3))
,如果它的macthing我们需要通过将版本增加1来将其从源添加到目标表,如果它不匹配,只需将版本附加为'0'
预期产量是:
orig1 orig2 orig3 xref1 xref2 xref3 version
1 1 1 1 1 1 0
1 1 1 2 2 2 1
1 1 1 3 3 3 2 …
Run Code Online (Sandbox Code Playgroud) 嗨,我是新来的火花sql.我有这样的数据框.
---+----------+----+----+----+------------------------+
|tag id|timestamp|listner| orgid |org2id|RSSI
+---+----------+----+----+----+------------------------+
| 4|1496745912| 362| 4| 3| 0.60|
| 4|1496745924|1901| 4| 3| 0.60|
| 4|1496746030|1901| 4| 3| 0.60|
| 4|1496746110| 718| 4| 3| 0.30|
| 2|1496746128| 718| 4| 3| 0.60|
| 2|1496746188|1901| 4| 3| 0.10|
Run Code Online (Sandbox Code Playgroud)
我想为spark sql中的每个listner前10个时间戳值选择.
我尝试了以下查询.它会抛出错误.
val avg = sqlContext.sql("select top 10 * from avg_table") // throws error.
val avg = sqlContext.sql("select rssi,timestamp,tagid from avg_table order by desc limit 10") // it prints only 10 records.
Run Code Online (Sandbox Code Playgroud)
我想为每个列表器选择我需要获取前10个时间戳值.任何帮助将不胜感激.
apache-spark ×1
awk ×1
bash ×1
dataframe ×1
pyspark ×1
python ×1
python-3.x ×1
sed ×1
shell ×1
sql ×1