Пользовательский фильтр в DataConnect
Как вы, наверное, поняли, я часто использую эту службу IBM Bluemix DataConnect. При создании операции вы можете уточнить данные, которые вы собираетесь экспортировать, используя пользовательский фильтр (он позволяет предложению WHERE добавить логику в запрос)
Я пытаюсь отфильтровать поле TIMESTAMP, пытаюсь получить данные за 1 месяц, но предложение не работает.
DATE(SHIPMENT_TMS) >= CURRENT DATE - 2 MONTH - (DAY(CURRENT DATE)-1)DAYS
Я получаю следующее сообщение об ошибке
Пользовательский фильтр не выполнен. Повторите операцию формирования, которую вы только что выполнили. • Отфильтруйте строки с помощью выражения предложения SQL WHERE 'DATE(SHIPMENT_TMS) >= = CURRENT DATE - 2 МЕСЯЦА - (DAY(CURRENT DATE)-1)DAYS' java.lang.RuntimeException: [1.36] ошибка: конец ожидаемой даты ввода (SHIPMENT_TMS)> = ТЕКУЩАЯ ДАТА - 2 МЕСЯЦА - (ДЕНЬ (ТЕКУЩАЯ ДАТА) -1) ДНЯ
Возможно, DATE () или DAY () не распознаны службой. Кто-нибудь пытался сделать такой фильтр?
Спасибо
1 ответ
Data Connect не поддерживает вышеуказанный SQL. Data Connect поддерживает только Spark SQL.
Это общая страница от spark: https://spark.apache.org/docs/1.6.0/sql-programming-guide.html
Это список функций, поддерживаемых spark: https://spark.apache.org/docs/1.6.0/api/scala/index.html$