hadoop - 映射减少事件时,有没有办法打开Unix命令?

标签 hadoop hive

我正在尝试在配置单元查询中获取UNIX输出。
例如,以下查询不起作用:

select transform ('') 
using 'pwd' 
as syspath

但是此查询有效:
select transform ('') 
using 'hive -e "select 10 as col1"' 
as col1

我如何启用UNIX命令或bash脚本作为映射减少作业以使其在hive中可用的输出?

提前致谢!

最佳答案

count the number of characters from a file



您为什么要为此使用Hive? Spark更加灵活。

val charCount = spark.read.textLines("path/to/file.txt")
    .flatMap(line => line.toList())
    .map(char => (char, 1)) // This is literally just wordcount, now
    .reduceByKey(_ + _)
    .map((char, count) => count)
    .sum() // something like this ... 
println(charCount.collect()(0))

关于hadoop - 映射减少事件时,有没有办法打开Unix命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61247593/

相关文章:

java - WritableStringObjectInspector 无法转换为 BooleanObjectInspector

sql - 配置单元查询结果到新表

xml - 可以将 HCatalog 与 XML 一起使用吗? -- 在 Cloudera VM 上执行 ETL

hadoop - 何时在 Hive 表上创建布隆过滤器?

hadoop - Cloudera 管理器 : Where do I put Java ClassPath for MapReduce jobs?

hadoop - 将Sqoop增量导入作为逐 block 方式使用

hadoop - 来自unix_timestamp()的配置单元日期和时间戳

hadoop - Hadoop 中 uber 模式的目的是什么?

mysql - 将作为文本字符串存储的制表符分隔的原始数据转换为 Hive 表?

hadoop - Hadoop和Amazon EMR/S3中每个文件的单独输出