Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 如何在imapla中启用递归读取_Hadoop_Dictionary_Mapreduce_Impala - Fatal编程技术网

Hadoop 如何在imapla中启用递归读取

Hadoop 如何在imapla中启用递归读取,hadoop,dictionary,mapreduce,impala,Hadoop,Dictionary,Mapreduce,Impala,我需要从Imapala查询每小时映射减少批处理结果 output directory structure will be /data/access/web1/2015/Jan/day1/09/part-r-00000 /data/access/web1/2015/Jan/day1/09/part-r-00001 ... /data/access/web1/2015/Jan/day1/20/part-r-00000 /data/access/web1/2015/Jan/day1/20/part-

我需要从Imapala查询每小时映射减少批处理结果

output directory structure will be 
/data/access/web1/2015/Jan/day1/09/part-r-00000
/data/access/web1/2015/Jan/day1/09/part-r-00001
...
/data/access/web1/2015/Jan/day1/20/part-r-00000
/data/access/web1/2015/Jan/day1/20/part-r-00001
...
/data/access/web1/2015/Jan/day2/01/part-r-00000
...
/data/access/web1/2015/Jan/day30/18/part-r-00000
....
是否可以创建impala表以从
/data/access/web1/*
目录(包括子目录)读取数据

默认情况下,impala不会从子目录查询数据

如何在impala中启用递归读取

解决方法是在impala中创建一个分区表。 但是分区表不符合我们的要求

如何解决此问题?

签出配置单元:

Impala将递归地从给定的HDFS目录读取数据

将新文件添加到HDFS目录时,调用
refresh my_external_table以通知Impala有关新数据。

签出配置单元:

Impala将递归地从给定的HDFS目录读取数据


将新文件添加到HDFS目录时,调用
refresh my_external_table通知Impala有关新数据。

到目前为止,Impala不支持从表位置下的子目录递归读取文件。示例:如果使用位置“/home/data/input/”创建表

如果目录结构如下所示:

/home/data/input/a.txt 
/home/data/input/b.txt
 /home/data/input/subdir1/x.txt
 /home/data/input/subdir2/y.txt
然后Impala只能从以下文件进行查询

/home/data/input/a.txt
 /home/data/input/b.txt
不查询以下文件

/home/data/input/subdir1/x.tx
 /home/data/input/subdir2/y.txt
作为替代解决方案,您可以从配置单元读取数据并插入到最终的配置单元表中

在此表顶部创建Impala视图,用于交互式或报告查询

您可以使用以下配置设置在配置单元中设置此功能

配置单元支持带有选项的子目录扫描

设置mapred.input.dir.recursive=true


设置hive.mapred.supports.subdirectories=true

到目前为止,Impala不支持从表位置下的子目录递归读取文件。示例:如果使用位置“/home/data/input/”创建表

如果目录结构如下所示:

/home/data/input/a.txt 
/home/data/input/b.txt
 /home/data/input/subdir1/x.txt
 /home/data/input/subdir2/y.txt
然后Impala只能从以下文件进行查询

/home/data/input/a.txt
 /home/data/input/b.txt
不查询以下文件

/home/data/input/subdir1/x.tx
 /home/data/input/subdir2/y.txt
作为替代解决方案,您可以从配置单元读取数据并插入到最终的配置单元表中

在此表顶部创建Impala视图,用于交互式或报告查询

您可以使用以下配置设置在配置单元中设置此功能

配置单元支持带有选项的子目录扫描

设置mapred.input.dir.recursive=true


设置hive.mapred.supports.subdirectories=true

我试过上面的方法,但没用。黑斑羚不像蜂巢那样具有递归读取目录的功能。我尝试了上面的方法,但没有成功。黑斑羚不像蜂巢那样具有递归读取目录的功能。