Bladeren bron

标签生成辅助类bug;创建大宽表修改

huaerzx 2 jaren geleden
bovenliggende
commit
8dbc5fb35d

+ 16 - 15
src/main/java/com/platomix/userprofile/handler/FlatTagHandler.java

@@ -54,6 +54,9 @@ public class FlatTagHandler {
 	@Value("${dbcluster.clickhouse}")
 	private String[] clickhouseDbCluster;
 
+	@Value("${dbcluster.clickhouse-etl}")
+	private String clickhouseDbEtl;
+
 	@Value("${spring.datasource.dynamic.datasource.clickhouse.username}")
 	private String clickhouseUserName;
 	@Value("${spring.datasource.dynamic.datasource.clickhouse.password}")
@@ -97,7 +100,7 @@ public class FlatTagHandler {
 	 * @param columnList 字段集合
 	 */
 	private void shellToCluster(String month,List<String> columnList){
-		String firstDb=clickhouseDbCluster[0];
+		//String firstDb=clickhouseDbCluster[0];
 		//System.out.println(firstDb);
 		//按手机号 查找分段
 		Set<String> setps=new HashSet<>();
@@ -120,29 +123,27 @@ public class FlatTagHandler {
 				String userIdSql= leftUserId == null || rightUserId == null ? "" : String.format(" and USERID_V>=toString(%s) and USERID_V<toString(%s)",  leftUserId, rightUserId);
 
 				StrBuilder builder=new StrBuilder();
-				//如果是向本机插入
-				if(i==0){
-					builder.appendLn("insert into " + cluTableName + "(")
-							.appendLn(String.join(",", columnList))
-							.appendLn(")")
-							.appendLn("select")
+//				//如果是向本机插入
+//				if(i==0){
+//					builder.appendLn("insert into " + cluTableName + "(")
 //							.appendLn(String.join(",", columnList))
-							.appendLn(_dealSelectColumnSql(columnList))
-							.appendLn("\nfrom ads." + TagKit.getTagTempTable(tempTableName,month))
-							.appendLn("where THEMONTH_V = '"+month+"' "+userIdSql);
-					_shellToCluster(new ShellCommond(clickhouseDbCluster[i],i==0,false,builder.toString()));
-				}else{
+//							.appendLn(")")
+//							.appendLn("select")
+//							.appendLn(_dealSelectColumnSql(columnList))
+//							.appendLn("\nfrom ads." + TagKit.getTagTempTable(tempTableName,month))
+//							.appendLn("where THEMONTH_V = '"+month+"' "+userIdSql);
+//					_shellToCluster(new ShellCommond(clickhouseDbCluster[i],i==0,false,builder.toString()));
+//				}else{
 					builder.append("echo 'select ")
-//							.append(String.join(",", columnList))
 							.appendLn(_dealSelectColumnSql(columnList))
 							.append(String.format(" from ads.%s where THEMONTH_V = toString(%s) %s' | ",TagKit.getTagTempTable(tempTableName,month),month,userIdSql))
-							.append(String.format(" curl %s:8123?database=ads -u%s:%s -d @- | ",firstDb,clickhouseUserName,clickhousePassWord))
+							.append(String.format(" curl %s:8123?database=ads -u%s:%s -d @- | ",clickhouseDbEtl,clickhouseUserName,clickhousePassWord))
 							.append(String.format(" docker run -i --rm yandex/clickhouse-client --host %s --port 9007 --user %s --password %s --input_format_allow_errors_num=100",clickhouseDbCluster[i],clickhouseUserName,clickhousePassWord))
 							.append(String.format(" --query='INSERT INTO ads.%s( ",cluTableName))
 							.append(String.join(",", columnList))
 							.appendLn(") FORMAT TabSeparated'");
 					_shellToCluster(new ShellCommond(clickhouseDbCluster[i],i==0,false,builder.toString()));
-				}
+//				}
 			}
 		} catch (IOException | InterruptedException e) {
 			log.info(e.getMessage());

+ 1 - 1
src/main/java/com/platomix/userprofile/handler/support/UserTagManager.java

@@ -185,7 +185,7 @@ public class UserTagManager {
 		for(JSONObject itemObj : dataList) {
 			String tagName = itemObj.getString(nameField),
 					tagValue=itemObj.getString(valueField),
-					tagId   = String.format("A112_%s_%03d",tag.getLevel2Id(), index++);
+					tagId   = String.format("%s112_%s_%03d",tag.getLevel1Id(),tag.getLevel2Id(), index++);
 			UserprofileTag itemTag = new UserprofileTag(tagId, tagName,tagValue,  tag.getLevel1Id(), tag.getLevel1Name(),
 					tag.getLevel1Id()+Integer.parseInt(tag.getLevel2Id()), tag.getLevel2Name(), tag.getEnglishName(),tag.getIsOnline(),tag.getShowHis(),tag.getTagCType(),tag.getSearchType(),
 					tag.getTagDesc());

+ 4 - 2
src/main/resources/application-dev.yml

@@ -68,8 +68,10 @@ dflow:
    flat-all-view-name: ads.Z_USER_TAG_FLAT_ALL_dev
    
 dbcluster:
-   #确保第一个是(源数据地址) 它会向(目标地址)分发
+   #etl数据库
+   clickhouse-etl: 10.0.1.135
+   #目标
    clickhouse:
-      10.0.1.135,
+      10.0.1.91,
       10.0.1.150,
       10.0.1.14

+ 5 - 3
src/main/resources/application-test.yml

@@ -55,10 +55,12 @@ dflow:
    flat-temp-table-name: Z_USER_TAG_FLAT_temp
    flat-clu-table-name: Z_USER_TAG_FLAT_clu1
    flat-all-view-name: ads.Z_USER_TAG_FLAT_ALL
-   
+
 dbcluster:
-   #确保第一个是(源数据地址) 向(目标地址)分发
+   #etl数据库
+   clickhouse-etl: 10.0.1.135
+   #目标
    clickhouse:
-      10.0.1.135,
+      10.0.1.91,
       10.0.1.150,
       10.0.1.14