Hello Gang, With that said, the backend database also needs to support UTF-8:
https://issues.apache.org/jira/browse/HIVE-18083 On Thu, Apr 2, 2020 at 12:20 AM David Mollitor <dam6...@gmail.com> wrote: > Hello Gang, > > I came across an interesting problem and I think the entire community > should be mindful of this situation. > > There needs to be better consistency with handling of Object names > (database, tables, column, view, function, etc.). I think it makes sense > to standardize on the same rules which MySQL/MariaDB uses for their column > names so that Hive can be more of a drop-in replacement for these. > > The two important things to keep in mind are: > > 1// Permitted characters in quoted identifiers include the full Unicode > Basic Multilingual Plane (BMP), except U+0000 > > 2// If any components of a multiple-part name require quoting, quote them > individually rather than quoting the name as a whole. For example, write > `my-table`.`my-column`, not `my-table.my-column`. > > https://dev.mysql.com/doc/refman/8.0/en/identifiers.html > https://dev.mysql.com/doc/refman/8.0/en/identifier-qualifiers.html > > That is to say: > > -- Select all rows from a table named `default.mytable` > -- (Yes, the table name itself has a period in it. This is valid) > SELECT * FROM `default.mytable`; > > -- Select all rows from database `default`, table `mytable` > SELECT * FROM `default`.`mytable`; > > This plays out in a couple of ways. There may be more, but these are the > ones I know about already: > > 1// Hive generates incorrect syntax > https://issues.apache.org/jira/browse/HIVE-23128 > > 2// Hive throws exception if there is a period in the table name. This is > an invalid response. Table name may have a period in them. More likely > than not, it will throw 'table not found' exception since the user most > likely accidentally used backticks incorrectly and meant to specify a db > and a table separately. > https://issues.apache.org/jira/browse/HIVE-16907 > > Thanks. >