0

Я пытаюсь запросить базу данных Cassandra с помощью SparkSQL-терминала. Запрос:Не удается выполнить запрос на основе TimeUUID в Spark SQL

select * from keyspace.tablename 
where user_id = e3a119e0-8744-11e5-a557-e789fe3b4cc1; 

Error: java.lang.RuntimeException: [1.88] failure: ``union'' expected but identifier e5 found

Также пробовал:

user_id= UUID.fromString(\`e3a119e0-8744-11e5-a557-e789fe3b4cc1\`)") 

user_id= \'e3a119e0-8744-11e5-a557-e789fe3b4cc1\'") 

token(user_id)= token(`e3a119e0-8744-11e5-a557-e789fe3b4cc1`) 

Я не знаю, как я могу запросить данные о timeuuid.

ответ

1

TimeUUID не поддерживаются как тип в SparkSQL, поэтому вам разрешено выполнять прямые сравнения строк. Представляют TIMEUUID как строка

select * from keyspace.tablename where user_id = "e3a119e0-8744-11e5-a557-e789fe3b4cc1" 
+0

Я попытался это тоже, но sparkSQL не признает TIMEUUID: 1) VAL группу = csc.sql ("выбрать из keyspace.table WHERE user_id = 'e3a119e0-8744-11e5 -a557-e789fe3b4cc1' "); 2) group.show() // Это будет вызывать ошибку как: Невозможно преобразовать объект e3a119e0-8744-11e5-a557-e789fe3b4cc1 типа class org.apache.spark.sql.types.UTF8String в java.util.UUID. – user3893382

+0

Используйте HiveContext, ошибка может зависеть от вашей версии, убедитесь, что вы используете последнюю версию для вашего доступного connecto – RussS

+0

. Я обнаружил, что это проблема с DSE 4.8.4 и исправлена ​​в верхних версиях DSE 5.0.0. – user3893382

 Смежные вопросы

  • Нет связанных вопросов^_^