hive 怎样批量创建表?

问答 shishuai19910217 ⋅ 于 2018-11-21 13:29:15 ⋅ 最后回复由 青牛 2018-11-24 11:11:51 ⋅ 4875 阅读
    // hiveJdbcTemplate.execute(sql.toString());
        //conn = jdbcDataSource.getConnection();
        //conn.setAutoCommit(false);
        //statement =  conn.createStatement();
        for(String sql : sqlList){   // 业务不同 创建的表就不同 
            //statement.execute(sql);
            //statement.addBatch(sql);
            hiveJdbcTemplate.execute(sql.toString());
        }
        //statement.executeBatch();
        //conn.commit();
        但是  hive 不支持addBatch 这种方式
        使用 hive -e aa.sql 这种方式   每次都要生成一个SQL文件   这样也不好 感觉不高效
成为第一个点赞的人吧 :bowtie:
回复数量: 4
  • 青牛 海汼部落创始人,80后程序员一枚,曾就职于金山,喜欢倒腾技术做产品
    2018-11-21 17:47:43

    什么业务场景下有批量建表的需求?另外String sql可以包含多个建表语句的,hive -e aa.sql中aa.sql也可以包含多条语句,所以没看出来哪里解决不了这个问题

  • shishuai19910217
    2018-11-23 13:45:54

    @青牛 数据迁移到hive 需要将客户指定的表批量创建

  • shishuai19910217
    2018-11-23 14:33:54

    @青牛 String sql 怎样包含多个建表语句? CREATE TABLE IF NOT EXISTS ...; CREATE TABLE IF NOT EXISTS...;
    这样执行statement.execute(allSql.toString());的时候就报 ParseException line 1:165 missing EOF at ';' near 'TEXTFILE'

  • 青牛 海汼部落创始人,80后程序员一枚,曾就职于金山,喜欢倒腾技术做产品
    2018-11-24 11:11:51

    @shishuai19910217 自己实现一个exeBatch吧

暂无评论~~
  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,可用Emoji的自动补全, 在输入的时候只需要 ":" 就可以自动提示了 :metal: :point_right: 表情列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif,教程
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
Ctrl+Enter