Hive使用嵌套子目录的输入创建表

 mobiledu2502870957 发布于 2023-01-07 14:36

我在文件路径中的HDFS中有Avro格式的数据,如:/data/logs/[foldername]/[filename].avro.我想在所有这些日志文件上创建一个Hive表,即表单的所有文件/data/logs/*/*.(它们都基于相同的Avro架构.)

我用标志运行以下查询mapred.input.dir.recursive=true:

CREATE EXTERNAL TABLE default.testtable
  ROW FORMAT SERDE
  'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
  STORED AS INPUTFORMAT
  'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
  OUTPUTFORMAT
  'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'
  LOCATION 'hdfs://.../data/*/*'
  TBLPROPERTIES (
    'avro.schema.url'='hdfs://.../schema.avsc') 

该表最终为空,除非我更改LOCATION为更少嵌套,即'hdfs://.../data/[foldername]/'与某个foldername.对于较少嵌套的路径,这没有问题LOCATION.

我希望能够从所有这些不同的[foldername]文件夹中获取数据.如何在嵌套目录中进一步进行递归输入选择?

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有