Пользовательский фильтр в 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$

Другие вопросы по тегам