我在scala变量中有一个文件名。我想把变量传递给cat文件并计算行数。我正在尝试使用scala.sys.process包实现。
val file=(“hadoop fs-ls/user/landing/data”#|“sort-k6,7”#|“tail-n1”)。!!。修剪文件:string=-rw-r--r--3 pa\u raviko5 hive 3093 2019-11-22 00:18/user/landing/data/file.csv
val file_path=file.split(“”).last.trim文件路径:string=/user/landing/data/file.csv
scala>**seq(“hadoop”,“fs”,“cat”,文件路径,“|”,“wc”,“l”)。!!****类别: |': No such file or directory cat:
wc':无此类文件或目录cat:“-l”:无此类文件或目录java.lang.runtimeexception:scala.sys.package$.error(package)处的非零退出值:1。scala:27)在scala.sys.process.processbuilderimpl$abstractbuilder.slurp(processbuilderimpl。scala:132)在scala.sys.process.processbuilderimpl$abstractbuilder.$bang$bang(processbuilderimpl。scala:102) ... 53省略
1条答案
按热度按时间o0lyfsai1#
不能使用管道运算符
|
作为你生活的一部分Seq(...).!!
. 这是贝壳的东西,斯卡拉不知道该怎么办。你可以这样称呼bash:你应该离开你的道路
"
如上图所示。ps:请在适当的地方使用scala的命名约定(filePath
而不是file_path
)