2016-03-30 7 views
0

Ich brauche eine Abfrage, die Arrays und Strukturen zurückgibt. Ich habe versucht:Hive-Syntax für die Rückgabe von Arrays und Strukturen

select Array(1) from my_table limit 1; 

und es funktioniert, aber gibt einige Fehler:

ERROR optimizer.ConstantPropagateProcFactory: Kann nicht [email protected] bewerten . Return Wert nicht recognizierbar.

gleiche gilt für structs:

select Struct(1,2) from my_table limit 1; 

Werke und kehrt

{"col1":1,"col2":2} 

wie Spaltennamen setzen?

druckt er auch einen Fehler

ERROR optimizer.ConstantPropagateProcFactory: Kann nicht [email protected] bewerten. Rückgabewert nicht recognizierbar.

Antwort

0

Sie müssen die Spaltennamen angeben oder * auswählen, um die tatsächlichen Spalten und Daten in Ihrer Tabelle zurückzugeben.

select Array(*) from yourTableName limit 1; 
select Array(field1,field2) from yourTableName limit 1; 
select Struct(*) from yourTableName limit 1; 
select Struct(field1,field2) from yourTableName limit 1; 
Verwandte Themen