1
Hadoop 용 HIVE를 사용 중입니다. 구조체의 가격 필드에서 가격 값을 선택하고 싶습니다. 그러나 구조체는 struct 구조체의 일부입니다.구조체 배열에서 선택하는 방법
uid string
timestamp int
eventdate string
products array<struct
<internalId:int,
category:int,
alternateId:string,
price:double,
quantity:int,
externalId:string>>
나는 터미널 창을 통해서가 아니라 exectued .HQL 파일을 사용하여 쿼리 할 것입니다.
(즉 하이브 -f blah.hql> blah.txt)
어떻게 구조체의 제품 배열 중 가격을 선택합니까?
- 어떤 것이 있는지 알 수 없습니다. 이상한 또는 널 출력을 얻는.
Select
table.products.price,
table.products[0].price,
table.products['price']
from table
외부 클러스터 팀의 일부에서 이상한 데이터베이스 설정이라고 생각합니다. 구조체 컬럼을 만드는 대신 배열로 만들었습니다. 그러나 주어진 행의 구조체에는 배열에 단 하나의 요소 만 있습니다. 그래서 그 구조체는 요소 0, 그리고 나는 그것의 연관된 필드 값을 요청할 수 있습니다. 그래서 products [0]은 onle 배열 요소이고, products [0] .price는 저에게 가격을 줄 것입니다. 그게 나를 몇 시간이나 괴롭혔다는 것을 믿을 수 없다! – VISQL