Flink version: 1.10.0
Flink sql read hive partition key failed,flink sql  是不是不支持hive 分区键


code:


   val settings = 
EnvironmentSettings.newInstance().useBlinkPlanner().inBatchMode().build()
    val tableEnv = TableEnvironment.create(settings)


    val hiveConfDir = "/etc/hive/conf" // a local path
    val hiveVersion = "2.1.1"


    val catalog2 = "catalog2"
    val dwdDB = "dwd"
    val dwdHiveCatalog = new HiveCatalog(catalog2, dwdDB, hiveConfDir, 
hiveVersion)
    tableEnv.registerCatalog("catalog2", dwdHiveCatalog)


    tableEnv.sqlUpdate(
      """
        |
        |INSERT INTO catalog2.dwd.orders
        |select srcuid, price from catalog2.dwd.bill where year = 2020
        |
        |
        |""".stripMargin)




    tableEnv.execute("Flink-1.10 insert hive Table Testing")






The program finished with the following exception:


org.apache.flink.client.program.ProgramInvocationException: The main method 
caused an error: SQL parse failed. Encountered "year =" at line 4, column 51.
Was expecting one of:
    "ARRAY" ...
    "CASE" ...
    "CURRENT" ...
    "CURRENT_CATALOG" ...
    "CURRENT_DATE" ...
    "CURRENT_DEFAULT_TRANSFORM_GROUP" ...
    "CURRENT_PATH" ...
    "CURRENT_ROLE" ...
    "CURRENT_SCHEMA" ...
    "CURRENT_TIME" ...
    "CURRENT_TIMESTAMP" ...
    "CURRENT_USER" ...
    "DATE" ...
    "EXISTS" ...
    "FALSE" ...
    "INTERVAL" ...
    "LOCALTIME" ...
    "LOCALTIMESTAMP" ...
    "MULTISET" ...
    "NEW" ...
    "NEXT" ...
    "NOT" ...
    "NULL" ...
    "PERIOD" ...
    "SESSION_USER" ...
    "SYSTEM_USER" ...
    "TIME" ...
    "TIMESTAMP" ...
    "TRUE" ...
    "UNKNOWN" ...
    "USER" ...
    <UNSIGNED_INTEGER_LITERAL> ...
    <APPROX_NUMERIC_LITERAL> ...
    <DECIMAL_NUMERIC_LITERAL> ...
    <BINARY_STRING_LITERAL> ...
    <QUOTED_STRING> ...
    <PREFIXED_STRING_LITERAL> ...
    <UNICODE_STRING_LITERAL> ...
    <LBRACE_D> ...
    <LBRACE_T> ...
    <LBRACE_TS> ...
    <LBRACE_FN> ...
    "?" ...
    "+" ...
    "-" ...
    <BRACKET_QUOTED_IDENTIFIER> ...
    <QUOTED_IDENTIFIER> ...
    <BACK_QUOTED_IDENTIFIER> ...
    <IDENTIFIER> ...
    <UNICODE_QUOTED_IDENTIFIER> ...
    "CAST" ...
    "EXTRACT" ...
    "POSITION" ...
    "CONVERT" ...
    "TRANSLATE" ...
    "OVERLAY" ...
    "FLOOR" ...
    "CEIL" ...
    "CEILING" ...
    "SUBSTRING" ...
    "TRIM" ...
    "CLASSIFIER" ...
    "MATCH_NUMBER" ...
    "RUNNING" ...
    "PREV" ...
    "JSON_EXISTS" ...
    "JSON_VALUE" ...
    "JSON_QUERY" ...
    "JSON_OBJECT" ...
    "JSON_OBJECTAGG" ...
    "JSON_ARRAY" ...
    "JSON_ARRAYAGG" ...
    "MAP" ...
    "SPECIFIC" ...
    "ABS" ...
    "AVG" ...
    "CARDINALITY" ...
    "CHAR_LENGTH" ...
    "CHARACTER_LENGTH" ...
    "COALESCE" ...
    "COLLECT" ...
    "COVAR_POP" ...
    "COVAR_SAMP" ...
    "CUME_DIST" ...
    "COUNT" ...
    "DENSE_RANK" ...
    "ELEMENT" ...
    "EXP" ...
    "FIRST_VALUE" ...
    "FUSION" ...
    "GROUPING" ...
    "HOUR" ...
    "LAG" ...
    "LEAD" ...
    "LEFT" ...
    "LAST_VALUE" ...
    "LN" ...
    "LOWER" ...
    "MAX" ...
    "MIN" ...
    "MINUTE" ...
    "MOD" ...
    "MONTH" ...
    "NTH_VALUE" ...
    "NTILE" ...
    "NULLIF" ...
    "OCTET_LENGTH" ...
    "PERCENT_RANK" ...
    "POWER" ...
    "RANK" ...
    "REGR_COUNT" ...
    "REGR_SXX" ...
    "REGR_SYY" ...
    "RIGHT" ...
    "ROW_NUMBER" ...
    "SECOND" ...
    "SQRT" ...
    "STDDEV_POP" ...
    "STDDEV_SAMP" ...
    "SUM" ...
    "UPPER" ...
    "TRUNCATE" ...
    "VAR_POP" ...
    "VAR_SAMP" ...
    "YEAR" ...
    "YEAR" "(" ...


at 
org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:335)
at 
org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:205)
at org.apache.flink.client.ClientUtils.executeProgram(ClientUtils.java:138)
at org.apache.flink.client.cli.CliFrontend.executeProgram(CliFrontend.java:664)
at org.apache.flink.client.cli.CliFrontend.run(CliFrontend.java:213)
at org.apache.flink.client.cli.CliFrontend.parseParameters(CliFrontend.java:895)
at org.apache.flink.client.cli.CliFrontend.lambda$main$10(CliFrontend.java:968)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at 
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1875)
at 
org.apache.flink.runtime.security.HadoopSecurityContext.runSecured(HadoopSecurityContext.java:41)
at org.apache.flink.client.cli.CliFrontend.main(CliFrontend.java:968)
Caused by: org.apache.flink.table.api.SqlParserException: SQL parse failed. 
Encountered "year =" at line 4, column 51.
Was expecting one of:
    "ARRAY" ...
    "CASE" ...
    "CURRENT" ...
    "CURRENT_CATALOG" ...
    "CURRENT_DATE" ...
    "CURRENT_DEFAULT_TRANSFORM_GROUP" ...
    "CURRENT_PATH" ...
    "CURRENT_ROLE" ...
    "CURRENT_SCHEMA" ...
    "CURRENT_TIME" ...
    "CURRENT_TIMESTAMP" ...
    "CURRENT_USER" ...
    "DATE" ...
    "EXISTS" ...
    "FALSE" ...
    "INTERVAL" ...
    "LOCALTIME" ...
    "LOCALTIMESTAMP" ...
    "MULTISET" ...
    "NEW" ...
    "NEXT" ...
    "NOT" ...
    "NULL" ...
    "PERIOD" ...
    "SESSION_USER" ...
    "SYSTEM_USER" ...
    "TIME" ...
    "TIMESTAMP" ...
    "TRUE" ...
    "UNKNOWN" ...
    "USER" ...
    <UNSIGNED_INTEGER_LITERAL> ...
    <APPROX_NUMERIC_LITERAL> ...
    <DECIMAL_NUMERIC_LITERAL> ...
    <BINARY_STRING_LITERAL> ...
    <QUOTED_STRING> ...
    <PREFIXED_STRING_LITERAL> ...
    <UNICODE_STRING_LITERAL> ...
    <LBRACE_D> ...
    <LBRACE_T> ...
    <LBRACE_TS> ...
    <LBRACE_FN> ...
    "?" ...
    "+" ...
    "-" ...
    <BRACKET_QUOTED_IDENTIFIER> ...
    <QUOTED_IDENTIFIER> ...
    <BACK_QUOTED_IDENTIFIER> ...
    <IDENTIFIER> ...
    <UNICODE_QUOTED_IDENTIFIER> ...
    "CAST" ...
    "EXTRACT" ...
    "POSITION" ...
    "CONVERT" ...
    "TRANSLATE" ...
    "OVERLAY" ...
    "FLOOR" ...
    "CEIL" ...
    "CEILING" ...
    "SUBSTRING" ...
    "TRIM" ...
    "CLASSIFIER" ...
    "MATCH_NUMBER" ...
    "RUNNING" ...
    "PREV" ...
    "JSON_EXISTS" ...
    "JSON_VALUE" ...
    "JSON_QUERY" ...
    "JSON_OBJECT" ...
    "JSON_OBJECTAGG" ...
    "JSON_ARRAY" ...
    "JSON_ARRAYAGG" ...
    "MAP" ...
    "SPECIFIC" ...
    "ABS" ...
    "AVG" ...
    "CARDINALITY" ...
    "CHAR_LENGTH" ...
    "CHARACTER_LENGTH" ...
    "COALESCE" ...
    "COLLECT" ...
    "COVAR_POP" ...
    "COVAR_SAMP" ...
    "CUME_DIST" ...
    "COUNT" ...
    "DENSE_RANK" ...
    "ELEMENT" ...
    "EXP" ...
    "FIRST_VALUE" ...
    "FUSION" ...
    "GROUPING" ...
    "HOUR" ...
    "LAG" ...
    "LEAD" ...
    "LEFT" ...
    "LAST_VALUE" ...
    "LN" ...
    "LOWER" ...
    "MAX" ...
    "MIN" ...
    "MINUTE" ...
    "MOD" ...
    "MONTH" ...
    "NTH_VALUE" ...
    "NTILE" ...
    "NULLIF" ...
    "OCTET_LENGTH" ...
    "PERCENT_RANK" ...
    "POWER" ...
    "RANK" ...
    "REGR_COUNT" ...
    "REGR_SXX" ...
    "REGR_SYY" ...
    "RIGHT" ...
    "ROW_NUMBER" ...
    "SECOND" ...
    "SQRT" ...
    "STDDEV_POP" ...
    "STDDEV_SAMP" ...
    "SUM" ...
    "UPPER" ...
    "TRUNCATE" ...
    "VAR_POP" ...
    "VAR_SAMP" ...
    "YEAR" ...
    "YEAR" "(" ...


at 
org.apache.flink.table.planner.calcite.CalciteParser.parse(CalciteParser.java:50)
at 
org.apache.flink.table.planner.delegation.ParserImpl.parse(ParserImpl.java:64)
at 
org.apache.flink.table.api.internal.TableEnvironmentImpl.sqlUpdate(TableEnvironmentImpl.java:484)

回复