将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],',')在配置单元表中显示空值。请帮助我。