티스토리 뷰
mongoDB는 스키마가 없습니다.
그런데 Presto에서는 조회하는 테이블(컬렉션)의 스키마를 필요로 합니다.
그래서 Presto에서 mongoDB를 연결하게 되면, "_schema" 컬렉션이 mongoDB에 생성이 됩니다.
그리고 컬렉션마다 첫번째 값 기준으로 테이블명과 필드명을 "_schema"에 추가하여 사용하게 됩니다.
즉 나중에 추가된 필드는 반영이 안되어 있기 때문에 그 필드를 Presto에서 조회할 때 인식을 못해서 에러가 나는 것입니다.
해결 책은 "_schema"에 해당 필드 정보를 추가해 주면 됩니다.
ex) "orders"라는 컬렉션에 "prdt_nm" 필드를 추가해 주는 예제 입니다.
>> 추가
db._schema.update( {table:'orders'}, {$push:{fields:{'name':'prdt_nm', 'type':'varchar', 'hidden':false}}} )
>> 삭제
db._schema.update( {table:'orders'}, {$pull:{fields:{'name':'prdt_nm', 'type':'varchar', 'hidden':false}}} )
참고
A schema collection consists of a MongoDB document for a table.
{ "table": ..., "fields": [ { "name" : ..., "type" : "varchar|bigint|boolean|double|date|array(bigint)|...", "hidden" : false }, ... ] } }
FieldRequiredTypeDescription
table | required | string | Presto table name |
fields | required | array | A list of field definitions. Each field definition creates a new column in the Presto table. |
Each field definition:
{ "name": ..., "type": ..., "hidden": ... }
FieldRequiredTypeDescription
name | required | string | Name of the column in the Presto table. |
type | required | string | Presto type of the column. |
hidden | optional | boolean | Hides the column from DESCRIBE <table name> and SELECT *. Defaults to false. |
- Total
- Today
- Yesterday
- 남설 팔찌
- 빈센트 반 고흐
- 증권정보포털
- weka
- 홈 오피스
- 오미크론
- 솔리드 쿨론
- 르세라핌
- Sybase IQ
- yugabyteDB
- 카카오 에드
- Life Chair
- 고체 향수
- 브리다 정수기
- GKRS
- 배당급
- 별이 빚나는 밤
- 별잉 빛나는 밤
- node.js
- 로니카 BCS
- 유가바이트디비
- 톡토기
- 파나소닉 비데 DL-EH10KWS
- JMW 헤어드라이기기
- 매직 트랙패드2
- 루미큐브 종류
- 코라나 19
- Pixel Pals
- VARIDESK
- 화분벌레
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |