Ich versuche, eine externe Tabelle zu erstellen, die zu einem S3-Bucket routet. Ich möchte alle Tabellen nach Datum gruppieren, so dass der Pfad etwa so aussieht wie s3://<bucketname>/<date>/<table-name>
. Meine aktuelle Funktion es für die Erstellung sieht so etwas wieString-Interpolation in HiveQL
concat('s3://<bucket-name>/', date_format(current_date,'yyyy-MM-dd'), '/<table-name>/');
ich fein dies in einer SELECT
Abfrage ausführen kann; aber wenn ich versuche, es in meiner Tabellenerstellung Erklärung zu setzen, bekomme ich folgende Fehlermeldung:
set s3-path = concat('s3://<bucket-name>/', date_format(current_date,'yyyy-MM-dd'), '/<table-name>/');
CREATE EXTERNAL TABLE users
(id STRING,
name STRING)
STORED AS PARQUET
LOCATION ${hiveconf:s3-path};
> FAILED: ParseException line 7:9 mismatched input 'concat' expecting StringLiteral near 'LOCATION' in table location specification
Gibt es eine Möglichkeit String Interpolation oder einen Funktionsaufruf in Hive in diesem Zusammenhang zu tun?