You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "ELLEX_SHEN (Jira)" <ji...@apache.org> on 2021/06/05 06:57:00 UTC

[jira] [Created] (FLINK-22884) Select view columns fail when store metadata with hive

ELLEX_SHEN created FLINK-22884:
----------------------------------

             Summary: Select view columns fail when store metadata with hive
                 Key: FLINK-22884
                 URL: https://issues.apache.org/jira/browse/FLINK-22884
             Project: Flink
          Issue Type: Bug
          Components: Table SQL / API
    Affects Versions: 1.13.1
            Reporter: ELLEX_SHEN
         Attachments: image-2021-06-05-14-55-14-937.png

I am use hive for filnk metadata, so select view table will mismatch to hive table after create view, I founded is a bug in HiveCatalog.classs, all view table is default mark to hive table unexpected.

after store in hive metadata, view table without "is_generic" or "connector" properties.

bug is here:


 @VisibleForTesting
    public Table getHiveTable(ObjectPath tablePath) throws TableNotExistException {
        try {
            Table table = this.client.getTable(tablePath.getDatabaseName(), tablePath.getObjectName());
            boolean isHiveTable;
            if (table.getParameters().containsKey("is_generic")) {
                isHiveTable = !Boolean.parseBoolean((String)table.getParameters().remove("is_generic"));
            } else {
                isHiveTable = !table.getParameters().containsKey("flink." + FactoryUtil.CONNECTOR.key()) && !table.getParameters().containsKey("flink.connector.type");
            }

            if (isHiveTable) {
                table.getParameters().put(FactoryUtil.CONNECTOR.key(), "hive");
            }

            return table;
        } catch (NoSuchObjectException var4) {
            throw new TableNotExistException(this.getName(), tablePath);
        } catch (TException var5) {
            throw new CatalogException(String.format("Failed to get table %s from Hive metastore", tablePath.getFullName()), var5);
        }
    }



--
This message was sent by Atlassian Jira
(v8.3.4#803005)