首页 > 解决方案 > Hive 查询失败

问题描述

我已经将配置单元查询设置为每天在作业上运行,今天是第一天运行它对我来说失败了。从我的设置来看,我没有看到我在哪里出错了。

fun getFlightStatus(date: LocalDate, flightstatuses: List< flightstatus>): Set<Alert> {
    val flightstatusesString = flightstatuses.joinToString(prefix = "(", postfix = ")", transform = { "'$it'" })
 val query =
        """select passengerID, flightstatus, partition_date from(
           |select distinct $flightTable.passengerID, $flightTable.flightstatus, $flightTable.partition_date
           |from $flightTable
           |where $flightTable.flightstatus in $flightstatusesString and $flightTable.partition_date = Date('$date')
           |)""".trimMargin()

    return hiveTemplate.execute(customCallback(query) { resultSet -> resultSet.toAlert() })
        .also { logger.info("<<< flights.getFlightStatus($date, $statuses)") }.toSet()
}

标签: sqlkotlinhadoophive

解决方案


Hive 中的子查询应该有一个别名。

select ... from (select ....) s --here s is an alias

推荐阅读