将postgresql数组导入配置单元

将postgresql数组导入配置单元,postgresql,hadoop,hive,sqoop,Postgresql,Hadoop,Hive,Sqoop,我一直在使用Sqoop在Postgresql表和Hive之间移动数据。但是显然Sqoop不支持Postgresql数组类型 Postgresql有一个名为array\u to\u string的函数。您可以利用它将数组转换为字符串 下面是postgresql中的表格: =# select * from albums; id | album_id | names -----------+-------+----- 123 | {1,2,3,4} | test (1 row) =#

我一直在使用
Sqoop
Postgresql
表和
Hive
之间移动数据。但是显然
Sqoop
不支持
Postgresql
数组类型

Postgresql有一个名为
array\u to\u string
的函数。您可以利用它将数组转换为字符串

下面是
postgresql
中的表格:

=# select * from albums;
  id  | album_id  | names 
-----------+-------+-----
 123  | {1,2,3,4} | test
(1 row)
=# 
正如您所看到的,
album_id
将数组作为类型,更具体地说是一个整数数组

现在,要从名为
mydb
的数据库中导入它,我使用以下命令:

sqoop导入——连接jdbc:postgresql://localhost:5432/mydb \
--查询“选择id,数组到字符串(相册id,,,,*”),名称\
来自相册中的\$CONDITIONS“\
--按id拆分\
--目标目录相册
之后,可以使用以下参数创建外部配置单元表:

collection.delim        $                   
field.delim             ,  

Postgresql有一个名为
array\u to\u string
的函数。您可以利用它将数组转换为字符串

下面是
postgresql
中的表格:

=# select * from albums;
  id  | album_id  | names 
-----------+-------+-----
 123  | {1,2,3,4} | test
(1 row)
=# 
正如您所看到的,
album_id
将数组作为类型,更具体地说是一个整数数组

现在,要从名为
mydb
的数据库中导入它,我使用以下命令:

sqoop导入——连接jdbc:postgresql://localhost:5432/mydb \
--查询“选择id,数组到字符串(相册id,,,,*”),名称\
来自相册中的\$CONDITIONS“\
--按id拆分\
--目标目录相册
之后,可以使用以下参数创建外部配置单元表:

collection.delim        $                   
field.delim             ,  

请举例说明。我正在使用array-to-string(array[album-u-id]、“,”)在配置单元表中显示空值。请帮助我。请提供示例。我正在使用array-to-string(array[album-u-id],',')在配置单元表中显示空值。请帮助我。