Hadoop Presto查询配置单元表异常:无法列出目录

Hadoop Presto查询配置单元表异常:无法列出目录,hadoop,hive,presto,Hadoop,Hive,Presto,我是普雷斯托的新手。我有两台presto 0.160的机器,一台是协调器,另一台是工人。我想查询配置单元中的表。现在我可以“显示表格”、“描述表格名”,但当我想“从表格名中选择*时”,出现异常:“查询20170728\U 123013\U 00011\U q4s3a失败:无法列出目录:hdfs://cdh-test/user/hive/warehouse/employee_hive" 以下是配置单元目录的配置: connector.name=hive-cdh4 hive.metastore.ur

我是普雷斯托的新手。我有两台presto 0.160的机器,一台是协调器,另一台是工人。我想查询配置单元中的表。现在我可以“显示表格”、“描述表格名”,但当我想“从表格名中选择*时”,出现异常:“查询20170728\U 123013\U 00011\U q4s3a失败:无法列出目录:hdfs://cdh-test/user/hive/warehouse/employee_hive"

以下是配置单元目录的配置:

connector.name=hive-cdh4
hive.metastore.uri=thrift://***:9083
hive.config.resources=/etc/hadoop/conf/core-site.xml,/etc/hadoop/conf/hdfs-site.xml

我错在哪里

存储表的路径需要存在于HDFS上,以便Presto成功打开它。从路径上看,您的表似乎是一个“内部”配置单元表,这意味着配置单元应该自己创建路径。由于没有,您可以使用类似于
hdfs dfs-mkdir的命令自己创建它hdfs://cdh-test/user/hive/warehouse/employee_hive
,尽管确切的命令取决于您的HDFS设置。

您无法访问hadoop目录。我希望您已经创建了作为textfile的表,它存储了相应用户的内部目录

您只需将表创建为外部表,就可以通过presto进行访问

Create External Table tablename (columnames datatypes) row format delimited fields terminated by '\t' stored as textfile;

load data inpath 'Your_hadoop_directory' into table tablename;
Create Table tablename (columnames datatypes) row format delimited fields terminated by '\t' stored as textfile;

load data inpath 'Your_hadoop_directory' into table tablename;

Create external Table tablename (columnames datatypes) STORED AS ORC;

insert into orc_tablename select * from internal_tablename
否则,您只需创建一个内部表并将其加载到外部ORC表,然后通过presto进行访问

Create External Table tablename (columnames datatypes) row format delimited fields terminated by '\t' stored as textfile;

load data inpath 'Your_hadoop_directory' into table tablename;
Create Table tablename (columnames datatypes) row format delimited fields terminated by '\t' stored as textfile;

load data inpath 'Your_hadoop_directory' into table tablename;

Create external Table tablename (columnames datatypes) STORED AS ORC;

insert into orc_tablename select * from internal_tablename

我通过创建ORC表解决了上述问题。

没问题,可能是一些临时问题。。。再运行一次。