Hive PrestoDB配置单元目录:输入时没有可行的替代方案';创建外部';

Hive PrestoDB配置单元目录:输入时没有可行的替代方案';创建外部';,hive,parquet,presto,Hive,Parquet,Presto,我正在Teradata PrestoDB发行版中为Hivecatalog运行一个查询,如下所示: CREATE EXTERNAL TABLE hive.default.mydata id INT, datetime timestamp, latitude FLOAT, longitude FLOAT, bookingid VARCHAR, pre_lat FLOAT, pre_long FLOAT, time_hour decimal(6, 1), dist_kms decimal(6, 1),

我正在Teradata PrestoDB发行版中为Hive
catalog
运行一个查询,如下所示:

CREATE EXTERNAL TABLE hive.default.mydata
id INT, datetime timestamp, latitude FLOAT,
longitude FLOAT, bookingid VARCHAR, pre_lat FLOAT,
pre_long FLOAT, time_hour decimal(6, 1), dist_kms decimal(6, 1),
ma6_dist_kms decimal(6, 1), istationary INT, quality_overall VARCHAR,
quality_nonstationary VARCHAR, cartype VARCHAR, isbigloss INT,
bookregion VARCHAR, iho_road VARCHAR)
STORED AS PARQUET
LOCATION "s3://sb.mycompany.com/someFolder/anotherFolder";
引发以下异常:

Query 20180316_022346_00001_h9iie failed: line 1:8: no viable alternative at input 'CREATE EXTERNAL'
即使使用配置单元并运行show table命令,我也会看到一个错误,因为设置了架构,但未设置目录:

presto> use hive;
presto:hive> show tables;
Error running command:
Error starting query at http://localhost:8080/v1/statement returned HTTP response code 400.
Response info:
JsonResponse{statusCode=400, statusMessage=Bad Request, headers={Content-Length=[32], Date=[Fri, 16 Mar 2018 02:25:25 GMT], Content-Type=[text/plain]}, hasValue=false, value=null}
Response body:
Schema is set but catalog is not

任何帮助都将不胜感激。谢谢。

在Presto中没有创建外部表这样的东西。要在Presto中创建配置单元外部表,请执行以下操作:

CREATE TABLE hive.web.request_logs (
  request_time timestamp,
  url varchar,
  ip varchar,
  user_agent varchar
)
WITH (
  format = 'TEXTFILE',
  external_location = 's3://my-bucket/data/logs/'
)
请访问此页面,了解如何从Presto与Hive交互:


使用蜂箱仅设置用户会话中的当前架构。我想您想做一些类似的事情:
使用hive.default。请在此处查看更多详细信息:

在Presto中没有类似于创建外部表的东西。要在Presto中创建配置单元外部表,请执行以下操作:

CREATE TABLE hive.web.request_logs (
  request_time timestamp,
  url varchar,
  ip varchar,
  user_agent varchar
)
WITH (
  format = 'TEXTFILE',
  external_location = 's3://my-bucket/data/logs/'
)
请访问此页面,了解如何从Presto与Hive交互:


使用蜂箱仅设置用户会话中的当前架构。我想您想做一些类似的事情:
使用hive.default。请在此处查看更多详细信息:

非常感谢您为我提供的指导和资源,这对我很有帮助。查询现在运行正常。为什么我在v307中看到这个错误?io.prestosql.spi.PrestoException:无法使用io.prestosql.plugin.hive.HiveMetadata.BeginerateTable(HiveMetadata.java:1035)的io.prestosql.plugin.hive.HiveMetadata.BeginerateTable(HiveMetadata.java:220)处的CREATE TABLE创建外部表。非常感谢您指出的指导和资源,这确实对我有帮助。查询现在运行正常。为什么我在v307中看到这个错误?io.prestosql.spi.PrestoException:无法在io.prestosql.plugin.hive.HiveMetadata.BeginRateTable(HiveMetadata.java:1035)的io.prestosql.plugin.hive.HiveMetadata.BeginRateTable(HiveMetadata.java:220)处使用CREATE TABLE创建外部表