나는 활발하게 사용했다. 카산드라 열 패밀리는 자동으로 하이브 테이블에 매핑됩니다.
그러나 데이터 형식이 열 패밀리의 timeuuid 인 경우 하이브 테이블에서 읽을 수 없습니다.활발한 카산드라 TimeUUIDType
예를 들어, 다음 명령을 사용하여 열 패밀리를 매핑 할 하이브에 외부 테이블을 만들었습니다.
Hive > create external table A (rowkey string, column_name string, value string)
> STORED BY 'org.apache.hadoop.hive.cassandra.CassandraStorageHandler'
> WITH SERDEPROPERTIES (
> "cassandra.columns.mapping" = ":key,:column,:value");
열 이름이 cassandra의 TimeUUIDType 인 경우 하이브 테이블에서 읽을 수 없게됩니다. 열 이름 TimeUUIDType
RowKey: 2d36a254bb04272b120aaf79d70a3578
=> (column=29139210-b6dc-11df-8c64-f315e3a329d6, value={"event_id":101},timestamp=1283464254261)
인 경우 :
예를 들어, 카산드라 열 가족의 행처럼 보인다. 하이브 테이블에서
은, 다음 행과 같습니다
2d36a254bb04272b120aaf79d70a3578 t��ߒ4��!�� {"event_id":101}
그래서, 열 이름은 하이브 테이블에서 읽을 수 없습니다.
여기서 렌더링을 어디에서 가져 오나요? ISTM은 Hive 도구가 timeuuid를 사람이 읽을 수있는 문자열로 변환하는 방법을 모르는 경우에도 잘 쿼리 할 수 있어야합니다. – jbellis
카산드라 레코드에 대해서는 카산드라 콘솔에서 가져옵니다. 하이브 레코드에 대해서는 Hive 콘솔에서 렌더링을 얻습니다. – chnet
읽을 수없는 열 이름을 쿼리 할 수 없습니다. 예를 들어, 하이브에서, 나는 column_name = '29139210-b6dc-11df-8c64-f315e3a329d6'어디에서 테이블에서 select *를 사용합니다. 매퍼/줄이기 작업이 시작되지만 원하는 행을 얻지 못합니다. 그것은 아무것도 반환하지 않습니다. – chnet