You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从spark-submit --version输出中提取目标HDP版本2.6.4.0-91

从spark-submit --version输出提取HDP版本号的可行方法

这里有几个靠谱的方法,能精准从spark-submit --version的输出里提取到你要的HDP版本号2.6.4.0-91,避开Spark的2.2.0版本:

方法一:用grep+sed组合提取

如果spark-submit --version的输出里版本串是类似version 2.2.0.2.6.4.0-91这种格式,可以用下面的命令:

spark-submit --version | grep -oP 'version \K.*' | sed 's/2\.2\.0\.//'
  • grep -oP 'version \K.*':用Perl正则匹配,\K会忽略掉前面的version ,只提取后面的完整版本串(也就是2.2.0.2.6.4.0-91)
  • sed 's/2\.2\.0\.//':把串里的2.2.0.替换为空,剩下的就是目标HDP版本号2.6.4.0-91

方法二:用awk分割提取

同样针对组合版本串的场景,awk的分割功能也能轻松搞定:

spark-submit --version | awk '/version/ {split($2, arr, /2\.2\.0\./); print arr[2]}'
  • /version/:定位到包含版本信息的行
  • split($2, arr, /2\.2\.0\./):把行里的第二个字段(版本串)用2.2.0.作为分隔符,拆分成数组arr
  • print arr[2]:数组的第二个元素就是我们要的2.6.4.0-91

方法三:用grep直接匹配HDP版本格式

HDP版本号的格式是x.x.x.x-xx(四段数字加横杠加数字),和Spark的2.2.0(三段数字)格式不同,我们可以直接用正则匹配这个独特格式:

spark-submit --version | grep -oP '\d+\.\d+\.\d+\.\d+-\d+'
  • \d+\.\d+\.\d+\.\d+-\d+:这个正则正好匹配2.6.4.0-91这种四段加横杠的版本格式,直接提取就能得到目标值,完全不会误匹配到Spark的2.2.0

这些方法都比单纯用ls /etc/hadoop/ | grep [0-9]严谨得多,能避免其他含数字目录的干扰。

内容的提问来源于stack exchange,提问作者enodmilvado

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:38:47