[英]I need to create a new column or alter the original from array<string> to map<string,int> where int values are in new table for respective string
[英]no viable alternative at input at CREATE TABLE with column defined as MAP<INT,<ARRAY<MAP<INT,FLOAT>>>>
我正在運行以下火花查詢
DROP TABLE IF EXISTS hmi_feature_array;
CREATE TABLE IF NOT EXISTS hmi_feature_array (
cycle_timestamp BIGINT,
campaign_id BIGINT,
arm ARRAY<BIGINT>,
context_feature MAP<INT,<ARRAY<MAP<INT,FLOAT>>>>
)
PARTITIONED BY(ds STRING)
TBLPROPERTIES (
'RETENTION' = '90',
'noUII' = '1'
);
但是,我在context_feature MAP<INT,<ARRAY<MAP<INT,FLOAT>>>>
no viable alternative at input
。 完整的相關錯誤日志如下:
[INFO ][1479233][2022-08-23 15:44:33,685][MainThread][utils.py:514 ]- Logging Spark App Metrics to XDB through wrapper: Sample(<class 'dict'>, {'normal': {'exception': "org.apache.spark.sql.catalyst.parser.ParseException: \nno viable alternative at input 'CREATE TABLE IF NOT EXISTS hmi_feature_array (\\n cycle_timestamp BIGINT,\\n campaign_id BIGINT,\\n arm ARRAY<BIGINT>,\\n context_feature MAP<INT,<'(line 5, pos 28)\n\n== SQL ==\nCREATE TABLE IF NOT EXISTS hmi_feature_array (\n cycle_timestamp BIGINT,\n campaign_id BIGINT,\n arm ARRAY<BIGINT>,\n context_feature MAP<INT,<ARRAY<MAP<INT,FLOAT>>>>\n----------------------------^^^\n)\nPARTITIONED BY(ds STRING)\nTBLPROPERTIES
為什么會這樣?
事實證明,它應該是context_feature MAP<INT,ARRAY<MAP<INT,FLOAT>>>
<INT,FLOAT>>>> 而不是context_feature MAP<INT,<ARRAY<MAP<INT,FLOAT>>>>
。 基本上ARRAY
周圍不需要<>
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.