如何使用 CTE 更新 table - Hive
How to use a CTE to update a table - Hive
我是 Hive 的新手,正在尝试根据从另一个 table (table_B ). table_B 用作分类变量描述的查找 table。
例如:table_A
index
field_x
field_y
1
L
S
2
H
H
3
M
S
例如:table_B
variable_name
variable_category
variable_category_description
field_x
L
Low
field_x
M
Medium
field_x
H
High
field_y
S
Soft
field_y
H
Hard
基于 table_A 和 table_B 我需要获得以下 table.
index
field_x
field_x_description
field_y
field_y_description
1
L
Low
S
Soft
2
H
High
H
Hard
3
M
Medium
S
Soft
我尝试在 hue hive 编辑器中进行以下操作,只是在开头添加一列。我的编辑器不支持更新语句。
CREATE TABLE table_C AS
SELECT index,
field_x,
field_y,
(SELECT variable_category_description
FROM table_B
where table_B.variable_name = 'field_x' and table_B.variable_category= table_A.field_x
AS field_x_description
FROM table_A
我收到以下错误
编译语句时出错:失败:ParseException 行 5:5 无法识别表达式规范 'SELECT' 'variable_category_description' 'FROM' 附近的输入
非常感谢对此问题的修复。
您需要两个连接(INNER 或 LEFT)与 table_B
CREATE TABLE table_C AS
SELECT a.index,
a.field_x,
x.variable_category_description AS field_x_description,
a.field_y,
y.variable_category_description AS field_y_description
FROM table_A
LEFT JOIN table_B x ON x.variable_name = 'field_x'
and x.variable_category = a.field_x
LEFT JOIN table_B y ON y.variable_name = 'field_y'
and y.variable_category = a.field_y
;
我是 Hive 的新手,正在尝试根据从另一个 table (table_B ). table_B 用作分类变量描述的查找 table。
例如:table_A
index | field_x | field_y |
---|---|---|
1 | L | S |
2 | H | H |
3 | M | S |
例如:table_B
variable_name | variable_category | variable_category_description |
---|---|---|
field_x | L | Low |
field_x | M | Medium |
field_x | H | High |
field_y | S | Soft |
field_y | H | Hard |
基于 table_A 和 table_B 我需要获得以下 table.
index | field_x | field_x_description | field_y | field_y_description |
---|---|---|---|---|
1 | L | Low | S | Soft |
2 | H | High | H | Hard |
3 | M | Medium | S | Soft |
我尝试在 hue hive 编辑器中进行以下操作,只是在开头添加一列。我的编辑器不支持更新语句。
CREATE TABLE table_C AS
SELECT index,
field_x,
field_y,
(SELECT variable_category_description
FROM table_B
where table_B.variable_name = 'field_x' and table_B.variable_category= table_A.field_x
AS field_x_description
FROM table_A
我收到以下错误
编译语句时出错:失败:ParseException 行 5:5 无法识别表达式规范 'SELECT' 'variable_category_description' 'FROM' 附近的输入
非常感谢对此问题的修复。
您需要两个连接(INNER 或 LEFT)与 table_B
CREATE TABLE table_C AS
SELECT a.index,
a.field_x,
x.variable_category_description AS field_x_description,
a.field_y,
y.variable_category_description AS field_y_description
FROM table_A
LEFT JOIN table_B x ON x.variable_name = 'field_x'
and x.variable_category = a.field_x
LEFT JOIN table_B y ON y.variable_name = 'field_y'
and y.variable_category = a.field_y
;