当前位置: 首页 > 知识库问答 >
问题:

有什么方法可以使配置单元与Unicode表和列名一起工作吗?

季骏祥
2023-03-14

看起来Hive不支持表名和列名中的Unicode。例如,我不能在配置单元中创建具有西里尔列名的表(请参见下面的异常)。有什么方法可以使配置单元与西里尔表和列名一起工作吗?

我使用:

$ hadoop version
Hadoop 2.2.0.2.0.6.0-101

Subversion git@github.com:hortonworks/hadoop.git -r b07b2906c36defd389c8b5bd22bebc1bead8115b

Compiled by jenkins on 2014-01-09T05:18Z

Compiled with protoc 2.5.0
hive> CREATE TABLE test2(`Имя` STRING, `НомерТелефона` INT);                                                                
NoViableAltException(10@[])
at org.apache.hadoop.hive.ql.parse.HiveParser.type(HiveParser.java:27461)
at org.apache.hadoop.hive.ql.parse.HiveParser.colType(HiveParser.java:27229)
at org.apache.hadoop.hive.ql.parse.HiveParser.columnNameType(HiveParser.java:26935)
at org.apache.hadoop.hive.ql.parse.HiveParser.columnNameTypeList(HiveParser.java:25185)
at org.apache.hadoop.hive.ql.parse.HiveParser.createTableStatement(HiveParser.java:4264)
at org.apache.hadoop.hive.ql.parse.HiveParser.ddlStatement(HiveParser.java:2016)
at org.apache.hadoop.hive.ql.parse.HiveParser.execStatement(HiveParser.java:1298)
at org.apache.hadoop.hive.ql.parse.HiveParser.statement(HiveParser.java:938)
at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:190)
at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:424)
at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:342)
at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1000)
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:911)
at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:259)
at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:216)
at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:413)
at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:781)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:675)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:614)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.util.RunJar.main(RunJar.java:212)
    FAILED: ParseException line 1:31 cannot recognize input near ',' 'INT' ')' in column type

共有1个答案

姜俊逸
2023-03-14

您可以对数据/注释使用Unicode字符串,但不能对数据库/表/列名使用Unicode字符串。

请参见:https://cwiki.apache.org/confluence/display/hive/user+faq#userfaq-doeshivesupportunicode?

 类似资料:
  • 错误:org.apache.hive.service.cli.hivesqlexception:处理语句时出错:失败:执行错误,从org.apache.hive.service.cli.operation.operation.toSqlexception(operation.java:380)(org.apache.hive.service.cli.operation.sqloperation.r

  • 我用docker设置了django cookiecutter模板 当我试图使用其中任何一个时,我会得到以下信息: 码头工人工作得很好。 这是docker compose.yml的

  • 目前我正在尝试将AWS EMR与Talend集成。 我的目的是在AWS EMR上运行Talend作业(由Talend工作室导出)。我已经尝试添加步骤为自定义罐,但它似乎通过使用也导出的文件夹和脚本运行Talend作业。 我想用脂肪罐运行它,但是这个问题表明我们不能这样做,因为缺乏将JAR文件导出为脂肪罐的功能。- 有什么好方法可以将Talend job与Amazon EMR集成在一起吗?

  • 我正在尝试使用HWPFDocument创建word文档。我能够创建具有某些功能的文档,但不能得到很少的东西。我的问题很简单,但有几件事我搞不清楚。我想把这个简单的HTML转换成创建的worddoc: 这里我可以转换粗体和斜体文本。但不知道如何创建 这是将html转换为文档的主要代码,如: 希望这将有助于理解你。

  • 我正在寻找一个高可用性/扩展的三重商店,与Jena框架一起工作,并遇到了BlazeGraph。Blazegraph是否有Jena框架的适配器?如果不是,什么是可以与Jena框架一起工作的高可用性RDF存储?

  • 我正在使用Intern框架运行Selenium测试。现在我想用Google Chrome(chromedriver)运行测试,但它需要配置虚拟显示。我正在考虑用Xvfb来做这个。但是我不能让chromedriver看到Xvfb正在为它启动和运行。 若我运行Xvfb,然后运行google chrome浏览器,那个么一切都正常,浏览器可以看到Xvfb并使用它。但是如果我用chromedriver运行测