package com.www.hive.utilSql;
public class HiveSQLutil {
/* * 1.通过数据库名,表名,查询某些列或者函数操作的列,返回结果 * */ public String SCAN(String databaseName,String tableName,String[] columns,String column,String type){ String sql=""; String temp=""; for (String c:columns) { temp+=c+","; } sql="select " + temp + type +"(" + column + ")" + " from " + databaseName + "." + tableName + " group by " + temp.substring(0,temp.length() - 1); return sql; }
/* * 2.获得前n条数据 * */ public String getTableDataByN(String database, String table, String[] columns, int n){ String cls = ""; for (String c : columns){ cls += c + ","; } cls = cls.substring(0,cls.length() - 1); String sql = "select " + cls + " from " + database + "." + table + " limit " + n; return sql; }
/** * 3.获得指定数据表的前百分之n的数据 * */ public String getDataByNPercent(String database, String table, String[] columns, int n){ String cls = ""; for (String c : columns){ cls += c + ","; } cls = cls.substring(0,cls.length() - 1); String sql = "select " + cls + " from " + database + "." + table + " tablesample(" + n + " percent)"; return sql; }
/** * 4.随机抽样 * */ public String getRandomDataN(String database, String table, String[] columns, int n){ String cls = ""; for (String c : columns){ cls += c + ","; } cls = cls.substring(0,cls.length() - 1); String sql = "select " + cls + ",RAND() r from " + database + "." + table + " order by r limit " + n; return sql; }
/** * 条件查询 * where id=? and name=? */ public String getDataByCondition(String database, String table, String[] columns, String[] conditions, String[] values){ String c = ""; for (int i = 0;i < columns.length;i ++){ c += " and " + columns[i] + " " + conditions[i] + " " + values[i]; } String sql = "select * from " + database + "." + table + " where 1 = 1" + c; return sql; } } |