从ddl文件在配置单元中创建表

r6vfmomb  于 2021-06-28  发布在  Hive
关注(0)|答案(1)|浏览(358)

我正在使用jruby连接到hive,这是成功的。现在我想创建表,但是我不想将create语句作为参数写入execute()方法,而是要调用具有表定义的ddl文件。
我无法获取文件内容并使用它们,因为在实际创建表之前,它们通常不止一条语句(即,如果不存在,则创建数据库,如果不存在,则创建表…)
有没有一个命令可以通过我的jdbc connect使用,它接收ddl文件并执行它?

2vuwiymt

2vuwiymt1#

据我所知,JDBCAPI没有直接的方法来执行类似于hive-f的操作,选项1)您可以解析sql文件并编写一个方法来按顺序执行命令(或)使用第三方代码,
这里有一个参考http://www.codeproject.com/articles/802383/run-sql-script-sql-containing-ddl-dml-select-state
选项2)如果运行jruby代码的客户机环境也支持hive,那么编写一个shell脚本,它可以连接到远程jdbc,并使用beeline运行sql,从而进行远程thrift调用
参考文献:https://cwiki.apache.org/confluence/display/hive/hiveserver2+clients

相关问题