通过 JDBC 将文件加载到 hive
Posted
技术标签:
【中文标题】通过 JDBC 将文件加载到 hive【英文标题】:Loading files into hive through JDBC 【发布时间】:2012-09-13 05:40:59 【问题描述】:我在尝试通过其 JDBC 驱动程序将文件加载到 Hive 时收到此错误。 Hive 实例在 vm 上运行。当我通过 hive 命令行加载文件时,该文件加载得非常好。该文件与 Hive 位于同一实例上。希望jdbc支持load命令。
java.sql.SQLException:查询返回非零代码:10,原因:FAILED:语义分析错误:第 1:23 行无效路径“/home/cloudera/Desktop/test.csv”:无文件匹配路径文件:/home/cloudera/Desktop/test.csv 在 org.apache.hadoop.hive.jdbc.HiveStatement.executeQuery(HiveStatement.java:189) 在 Main.main(Main.java:55)
【问题讨论】:
你能分享一下你的说法吗? 【参考方案1】:由于 hive 依次运行在 map/reduce 环境中,因此用户在使用 hive jdbc 时需要为 csv 文件提供 hdfs 路径(不是本地路径)。在使用 hive cli 运行时,它采用本地路径,因为它负责将文件上传到 hdfs 以加载到表中。
【讨论】:
以上是关于通过 JDBC 将文件加载到 hive的主要内容,如果未能解决你的问题,请参考以下文章
kylin2.3版本启用jdbc数据源(可以直接通过sql生成hive表,省去手动导数据到hive,并建hive表的麻烦)
如何通过 JDBC 将 Java 存储过程加载到 Oracle 10g 中?