Spark Job возвращает результат не равный hive SQL - PullRequest
0 голосов
/ 10 июля 2020

Спасибо за чтение. Я новая java искра. Я написал набор данных jar get из базы данных улья. Но результат возврата jar (счетчик) не равен, когда я тестирую тот же sqlstatement на улье. Пожалуйста, помогите мне. это мой код.

public void run() {
    logger.info("begin etl for table: " + this.jobName);
    String hdfsDataPath = String.format("%s/%s/*", 
Config.instance().getCfg().get("database_path").toString(),
            this.jobName);
    

    ds = ds.where(functions.to_timestamp(ds.col("Modified")).gt(this.lastTimeValue));

    logger.info("ds.count " + ds.count());
    // query table
    String vanbandenquery = String.format("select * from MPIDMS_07032020_VanBanDen where cast(Modified as timestamp) > cast(%s  as timestamp) order by Modified asc", "'" + this.lastTimeValue + "'");
    ds.registerTempTable(this.jobName);       
    Dataset<Row> dstb = getSpark().sql(vanbandenquery);
    
    logger.info("splitfieldtype=" + this.splitfieldtype + "lastTimeValue=" + this.lastTimeValue);
    logger.info("run job: " + this.jobName + ", query: " + vanbandenquery + ", lastest count=" + 
  dstb.count());
    
...