If you only want the array while you’re querying table1 your example should work. If you want to add AB to the table you’ll probably need to create a new table by selecting everything you need from table1.
hive> select * from table1 limit 1; OK temp1 temp2 temp3 hive> select f1, array(f2, f3) AS AB from table1 limit 1; OK temp1 [“temp2”,"temp3"] > On Mar 13, 2016, at 12:33 AM, Rex X <[email protected]> wrote: > > How to make the following work? > > 1. combine columns A and B to make one array as a new column AB. Both column > A and B are string types. > > select > string_columnA, > string_columnB, > array(string_columnA, string_columnB) as AB > from Table1; > > 2. append columnA to an existing array-type column B > > select > string_columnA, > array_columnB, > array_flatmerge(string_columnA, array_columnB) as AB > from Table2; > > In fact, I should say "set" instead of "array" above, since I expect no > duplicates. > > Any idea? >
