def merge_pre_hi_data_task(hive_db, hive_all_hi_table_name, hive_hi_table_name, is_must_have_data, pt, now_hour, pre_hour_day, pre_hour, **kwargs): sqoopSchema = SqoopSchemaUpdate() hive_columns = sqoopSchema.get_hive_column_name(hive_db, hive_all_hi_table_name) hql = ADD_HI_SQL.format(db_name=hive_db, hive_all_hi_table_name=hive_all_hi_table_name, hive_hi_table_name=hive_hi_table_name, pt=pt, now_hour=now_hour, pre_hour_day=pre_hour_day, pre_hour=pre_hour, columns=',\n'.join(hive_columns)) hive_hook = HiveCliHook() # 读取sql logging.info('Executing: %s', hql) # 执行Hive hive_hook.run_cli(hql) # 生成_SUCCESS """ 第一个参数true: 数据目录是有country_code分区。false 没有 第二个参数true: 数据有才生成_SUCCESS false 数据没有也生成_SUCCESS """ TaskTouchzSuccess().countries_touchz_success( pt, hive_db, hive_all_hi_table_name, ALL_HI_OSS_PATH % hive_all_hi_table_name, "false", is_must_have_data, now_hour)
def merge_pre_hi_with_full_data_task(hive_db, hive_h_his_table_name, hive_hi_table_name, mysql_db_name, mysql_table_name, mysql_conn, sqoop_temp_db_name, sqoop_table_name, pt, now_hour, pre_day, pre_hour_day, pre_hour, is_must_have_data, **kwargs): sqoopSchema = SqoopSchemaUpdate() hive_columns = sqoopSchema.get_hive_column_name(hive_db, hive_h_his_table_name) mysql_columns = sqoopSchema.get_mysql_column_name(mysql_db_name, mysql_table_name, mysql_conn) pre_day_ms = int(time.mktime(time.strptime(pre_day, "%Y-%m-%d"))) * 1000 hql = MERGE_HI_WITH_FULL_SQL.format( columns=',\n'.join(hive_columns), pt=pt, now_hour=now_hour, db_name=hive_db, mysql_db_name=mysql_db_name, hive_h_his_table_name=hive_h_his_table_name, hive_hi_table_name=hive_hi_table_name, mysql_table_name=mysql_table_name, pre_day_ms=pre_day_ms, mysql_columns=',\n'.join(mysql_columns), sqoop_temp_db_name=sqoop_temp_db_name, sqoop_table_name=sqoop_table_name) hive_hook = HiveCliHook() # 读取sql logging.info('Executing: %s', hql) # 执行Hive hive_hook.run_cli(hql) # 生成_SUCCESS """ 第一个参数true: 数据目录是有country_code分区。false 没有 第二个参数true: 数据有才生成_SUCCESS false 数据没有也生成_SUCCESS """ TaskTouchzSuccess().countries_touchz_success( pt, hive_db, hive_h_his_table_name, H_HIS_OSS_PATH % hive_h_his_table_name, "false", is_must_have_data, now_hour)