有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java是否可以在MR作业之外将数据写入HDFS,并仍然使用配置单元进行查询?

我正在为MR工作使用骨架代码。此作业的输入和输出都是可空写的。我必须使用这个框架,但我还必须将此作业中的数据写入HDFS。此外,我编写的数据必须可以通过配置单元进行查询

有办法做到这一点吗

我知道如何导航&;通过Java中的hadoop文件系统API操作文件。我遇到的主要问题是如何通过配置单元查询这些文件


共 (1) 个答案

  1. # 1 楼答案

    最简单的方法是创建一个指向HDFS中某个位置的外部配置单元表。然后让您的MR作业以与配置单元方案一致的格式将文件写入同一位置(反之亦然,请创建配置单元方案以匹配MR作业输出的预期格式)

    create external table if not exists dbname.tblname 
    (field1 STRING
    ,field2 STRING
    ,field3 STRING)
    row format delimited
    lines terminated by ‘\n’
    fields terminated by ‘,’
    stored as textfile
    location ‘hdfs_path’;
    

    然后,如果您的MR作业将带有field1、field2和field3的CSV文件写入hdfs_路径,则可以通过此外部表查询这些文件