Я хочу получить подзапрос из таблицы Impala как один набор данных.
Код такой:
String subQuery = "(select to_timestamp(unix_timestamp(now())) as ts from my_table) t"
Dataset<Row> ds = spark.read().jdbc(myImpalaUrl, subQuery, prop);
Но результатом является ошибка:
Caused by: java.sql.SQLDataException: [Cloudera][JDBC](10140) Error converting value to Timestamp.
Я могу использовать unix_timestamp
функция, но to_timestmap
не удалось, почему?
Я обнаружил, что код в org.apache.spark.sql.execution.datasources.jdbc.JDBC.compute()
существует некоторая проблема:
sqlText = s"SELECT $columnList FROM ${options.table} $myWhereClause"
$columList
содержит "
как "col_name"
, когдаЯ удаляю "
, он работает нормально.