On this page
Hive 用户常见问题解答
General
我看到以下错误:服务器访问错误:连接超时 url = http://archive.apache.org/dist/hadoop/core/hadoop-0.20.1/hadoop-0.20.1.tar.gz
运行以下命令:cd ~/.ant/cache/hadoop/core/sources
wget http://archive.apache.org/dist/hadoop/core/hadoop-0.20.1/hadoop-0.20.1.tar.gz
如何更改旧表的 warehouse.dir 位置?
要更改 Hive 表的基本位置,请编辑 hive.metastore.warehouse.dir 参数。这不会影响较旧的表。需要在数据库(MySQL 或 Derby)中更改元数据。 Hive 表的位置在表 SDS 和列 LOCATION 中。
运行 JOIN 查询时,我看到内存不足错误。
这通常是由 JOIN 表的 Sequences 引起的。代替“ FROM tableA a JOIN tableB a ON ...”,请尝试“ FROM tableA b JOIN tableA a ON ...”。请注意,如果使用的是“左外部连接”,则可能需要更改为“右外部连接”。这个技巧通常可以解决问题-经验法则是,始终将具有相同值的很多行的表放在 JOIN 最右侧的连接键中。
{#UserFAQ-IamusingMySQLasmetastoreandIseeerrors:"com.mysql.jdbc.exceptions.jdbc4.!CommunicationsException:Communicationslinkfailure"}我将 MySQL 用作元存储,但看到错误:“ com.mysql.jdbc.exceptions.jdbc4.!CommunicationsException:通信链接失败”
这通常是由于 MySQL 服务器在连接空闲一段时间后关闭连接而导致的。在 MySQL 服务器上运行以下命令将解决问题“设置全局 wait_status = 120;”。
- 当使用 MySQL 作为元存储库时,我看到错误“ com.mysql.jdbc.exceptions.MySQLSyntaxErrorException:指定的密钥太长;最大密钥长度为 767 字节”。
这是 MySQL 5.0 和 UTF8 数据库的已知限制。一种选择是使用另一种已知的字符集,例如“ latin1”。
Hive 是否支持 Unicode?
您可以在数据/Comments 上使用 Unicode 字符串,但不能用于数据库/表/列名称。
您可以对 Hive 数据使用 UTF-8 编码。但是,不支持其他编码(HIVE-7142 引入了 LazySimpleSerDe 的编码,但是,实现方式并不完整,无法解决所有情况)。
Hive SQL
Hive SQL 标识符(例如表名,列名等)是否区分大小写?
否。Hive 不区分大小写。
Executing:
Note
SELECT * FROM MyTable WHERE myColumn = 3
严格等于
Note
select * from mytable where mycolumn = 3
Hive SQL 标识符允许的最大长度是多少?
将数据导入 Hive
如何将 XML 数据导入 Hive?
如何将 CSV 数据导入 Hive?
如何将 JSON 数据导入 Hive?
如何将 Thrift 数据导入 Hive?
如何将 Avro 数据导入 Hive?
如何将定界的文本数据导入 Hive?
如何将固定宽度的数据导入 Hive?
如何将 ASCII 日志文件(HTTP 等)导入 Hive?
从 Hive 导出数据
Hive 数据模型
本机表和外部表有什么区别?
什么是动态分区?
Hive 表可以包含多种格式的数据吗?
是否可以按分区设置数据格式?
JDBC Driver
Hive 是否具有 JDBC 驱动程序?
是。注意 hive-jdbc jar。驱动程序是“ org.apache.hadoop.hive.jdbc.HiveDriver”。
它支持两种模式:本地模式和远程模式。
在远程模式下,它通过其 Thrift API 连接到配置单元服务器。使用的 JDBC 网址应采用以下形式:'jdbc:hive:// hostname:port/databasename'
在本地模式下,Hive 被嵌入。要使用的 JDBC 网址应为“ jdbc:hive://”。
ODBC Driver
Hive 是否具有 ODBC 驱动程序?
是。许多第三方供应商提供 ODBC 驱动程序。
Simba 同时提供 ODBC 和 JDBC 驱动程序,并为其他公司开发了许多驱动程序。
http://www.simba.com/drivers/hive-odbc-jdbc/
Microsoft 为 HDInsight 和本地群集中的 Hive 提供了 ODBC 驱动程序。
https://azure.microsoft.com/en-us/documentation/articles/hdinsight-connect-excel-hive-odbc-driver/
https://www.microsoft.com/en-ca/download/details.aspx?id=40886
Hortonworks 为 HDP 提供 ODBC 驱动程序
http://hortonworks.com/hdp/addons/
Cloudera 为 Cloudera Enterprise 提供了 ODBC 驱动程序
http://www.cloudera.com/downloads/connectors/hive/odbc/2-5-12.html
MapR 提供 ODBC 驱动程序
http://doc.mapr.com/display/MapR/Hive+ODBC+Connector
Progress 提供了 DataDirect ODBC 驱动程序
https://www.progress.com/odbc/apache-hadoop-hive
Amazon 为 Amazon EMR 提供 ODBC/JDBC 驱动程序
https://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-bi-tools.html