Как определить / спроектировать пользовательские разделы для приложения spark, использующего cassandra-разъем - PullRequest
0 голосов
/ 02 мая 2019

Я использую spark-cassandra-connector. Необходим для извлечения данных из таблицы оракулов. У меня есть столбцы "fiscal_year" и "date_of_creation". в настоящее время я установил

.option("lowerBound", 2000);
.option("upperBound",2020);
.option("partitionColumn", "fiscal_year");

// это работает, но в результате получается много искажений в данных. в результате искры работают в течение нескольких часов.

Следовательно, мы хотели бы использовать столбец "date_of_creation" в качестве ключа разделения, как показано ниже

.option("lowerBound", "31-MAR-02");
.option("upperBound", "01-MAY-19");
.option("partitionColumn", "date_of_creation");  

Но выдает ошибку типа "ORA-00932: несовместимые типы данных: ожидаемая дата получена NUMBER"

что здесь не так? Есть ли возможность установить несколько столбцов как

option("partitionColumn", ["date_of_creation" ,"fiscal_year"]); 

для некоторых записей в таблице оракула, если "fiscal_year" равно нулю, как написать пользовательский разделитель в этом случае?

1 Ответ

1 голос
/ 02 мая 2019

Верхняя и нижняя границы должны быть числовыми и иметь соответствующий столбец разделения.Это так просто, а не DATE Type или String.Конечно, вы можете иметь числовые эквиваленты дат.

См. Отличный пост, а не я: https://medium.com/@radek.strnad/tips-for-using-jdbc-in-apache-spark-sql-396ea7b2e3d3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...