• Hive通过Jdbc获取表的字段信息


    参考代码如下:

     /**
         * 按顺序返回字段
         * desc table的返回结果形式如下:
         hive> describe ind01acoM;
         OK
         acq_ins_id_cd           string
         cups_sig_card_in        string
         resv                    string
         ins_id_cd               string
         hp_settle_dt            string
    
         # Partition Information
         # col_name              data_type               comment
    
         ins_id_cd               string
         hp_settle_dt            string
         */
        public Map<String, String> queryAllColumnsAndType(String table) throws Exception {
            //Map<String, String> allColumnsAndType = new CaseInsensitiveMap();
            //为了保证字段顺序
            Map<String, String> allColumnsAndType = new LinkedHashMap<>();
            Connection connection = null;
            try{
                connection = getConnection();
                ResultSet rs = connection.createStatement().executeQuery("describe " + table);
                if (rs != null) {
                    while (rs.next()) {
                        String col_name = rs.getString("col_name");
                        if(!StringUtils.isBlank(col_name)){
                            allColumnsAndType.put(rs.getObject("col_name").toString(), rs.getObject("data_type").toString());
                        }else break;
                        //System.out.println(rs.getString("col_name") + "	" + rs.getString("data_type"));
                    }
                }
                //去除分区列
                allColumnsAndType.remove("hp_settle_dt");
                allColumnsAndType.remove("ins_id_cd");
                return allColumnsAndType;
            }catch(Exception e){
                e.printStackTrace();
                logger.error("获取字段-类型失败,表:{}",table);
                throw e;
            }finally {
                closeConn(null, null, connection);
            }
        }
    
    
  • 相关阅读:
    站点收藏
    深入理解HttpModule和HttpHandler
    搜索引擎URL参数解析
    ExtJs学习之路进度条
    Net加密保护工具分析介绍
    基于百度搜索开放平台的天气查询
    Squid配置
    ArcEngine中对已经存在的数据表格添加字段(转载)
    ArcGIS Engine开发基础之QI(转载)
    Arcgis Engine 开发术语(转载)
  • 原文地址:https://www.cnblogs.com/darange/p/13810053.html
Copyright © 2020-2023  润新知