2016-09-15 9 views
0

Unter Berücksichtigung einer Basistabelle employee und eine Tabelle von Mitarbeiter employee_salary_period abgeleitet, die einen komplexen Datentyp map enthält. Wie zu wählen und Daten aus employee in employee_salary_period einfügen wo salary_period_map ein Schlüsselwertpaar ist also salary: periodHive Wählen Sie aus der Tabelle als komplexen Typ

CREATE TABLE employee(
    emp_id bigint, 
    name string, 
    address string, 
    salary double, 
    period string, 
    position string 
) 
PARTITIONED BY ( 
    dept_id bigint) 
STORED AS PARQUET 


CREATE TABLE employee_salary_period(
    emp_id 
    name string, 
    salary string, 
    period string, 
    salary_period_map Map<String,String>, 
) 
PARTITIONED BY ( 
    dept_id bigint) 
STORED AS PARQUET 

ich stecken bin versucht, herauszufinden, wie man Daten als salary_period_map auszuwählen

Antwort

1

Betrachten zur Verfügung gestellt str_to_map Funktion von Bienenstock. Ich hoffe, Sie haben nur einen Schlüssel (Gehalt) in der Karte

select 
emp_id 
name, 
salary, 
period, 
str_to_map(concat(salary,":",period),'&',':') as salary_period_map 
from employee_salary_period 
Verwandte Themen