0

SparkSQL 터미널을 사용하여 Cassandra 데이터베이스를 쿼리하려고합니다. 검색어 : 또한 시도Spark SQL의 TimeUUID를 기반으로 쿼리 할 수 ​​없습니다.

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

TimeUU는 SparkSQL에서 유형으로 지원되지 않으므로 직접 문자열 비교 만 할 수 있습니다. 문자열로 TIMEUUID을 대표

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

나도이 시도했지만 sparkSQL는 TIMEUUID 인식하지 않습니다 "(1) 발 그룹 = csc.sql을 WHERE USER_ID = 'e3a119e0-8744-11e5 keyspace.table에서를 선택 -a557-e789fe3b4cc1 ' ")); 2) group.show() // 그러면 다음과 같은 에러가 발생합니다 : 클래스 org.apache.spark.sql.types.UTF8String의 객체 e3a119e0-8744-11e5-a557-e789fe3b4cc1을 java.util.UUID로 변환 할 수 없습니다. – user3893382

+0

HiveContext를 사용하면 오류가 사용중인 버전에 종속 될 수 있습니다. 사용 가능한 connecto에 최신 릴리스를 사용하고 있는지 확인하십시오 – RussS

+0

이 문제는 DSE 4.8.4에서 발견되었으며 DSE 5.0.0의 상위 버전에서 수정되었습니다. – user3893382