Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.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 我使用插入覆盖目录。现在如何访问该文件?_Hadoop_Hive_Hdfs - Fatal编程技术网

Hadoop 我使用插入覆盖目录。现在如何访问该文件?

Hadoop 我使用插入覆盖目录。现在如何访问该文件?,hadoop,hive,hdfs,Hadoop,Hive,Hdfs,HDFS显然是个新手,甚至不知道该搜索什么来获得帮助 我的大多数表都位于HDFS中user/hive/warehouse下的数据库中。我想把一个SELECT结果存储到一个我有写访问权的目录中,所以我把它存储到user/Jon/folder\u name中,这样就行了 现在如何访问此文件中的数据?工作目录是user/hive/warehouse,我没有在/Jon/folder\u name文件夹中创建表(它只是一个文件)。我正在尝试从文件夹名称运行一个基本的SELECT count(*),我不知道

HDFS显然是个新手,甚至不知道该搜索什么来获得帮助

我的大多数表都位于HDFS中user/hive/warehouse下的数据库中。我想把一个SELECT结果存储到一个我有写访问权的目录中,所以我把它存储到user/Jon/folder\u name中,这样就行了


现在如何访问此文件中的数据?工作目录是user/hive/warehouse,我没有在/Jon/folder\u name文件夹中创建表(它只是一个文件)。我正在尝试从文件夹名称运行一个基本的SELECT count(*),我不知道从哪里开始工作。

Jon,我不知道这是否是最好的方法,但它肯定会达到目的

一旦您完成了
插入
,您将在目标目录中得到一个类似
000000\u 0
的文件。我知道它是有线的,但文件名是0000000。如果您的查询有多个减缩器,那么您将得到多个文件,如000000\u 0、000001\u 0、000002\u 0等等

假设您发出了以下查询,其中包含1个减速机:

hive> INSERT OVERWRITE DIRECTORY '/Jon/folder_name' SELECT * FROM table_name;
现在使用
/Jon/folder\u name/000000\u 0
作为其位置创建一个
外部表
,然后进行选择。像这样:

hive> CREATE EXTERNAL TABLE table_name2(id INT, name STRING) LOCATION '/Jon/folder_name/000000_0';
然后呢,

hive> select count(*) from table_name2;

乔恩,我不知道这是不是最好的办法,但它肯定能达到目的

一旦您完成了
插入
,您将在目标目录中得到一个类似
000000\u 0
的文件。我知道它是有线的,但文件名是0000000。如果您的查询有多个减缩器,那么您将得到多个文件,如000000\u 0、000001\u 0、000002\u 0等等

假设您发出了以下查询,其中包含1个减速机:

hive> INSERT OVERWRITE DIRECTORY '/Jon/folder_name' SELECT * FROM table_name;
现在使用
/Jon/folder\u name/000000\u 0
作为其位置创建一个
外部表
,然后进行选择。像这样:

hive> CREATE EXTERNAL TABLE table_name2(id INT, name STRING) LOCATION '/Jon/folder_name/000000_0';
然后呢,

hive> select count(*) from table_name2;