Cloudera sqoop 在导入时将某些列映射到空值
Cloudera sqoop mapping certain columns to null values on import
在导入时将某些列转换为空占位符的最佳方法是什么?
是否可以使用映射列功能?
Argument Description
--map-column-java <mapping> Override mapping from SQL to Java type for configured columns.
--map-column-hive <mapping> Override mapping from SQL to Hive type for configured columns.
我们希望模式相同,但有些列只是膨胀太多,所以我们不希望它们被拉入我们的集群。
另一个想法是生成自定义 select 语句,其中膨胀的列为空,但这是 sqoop 的更多配置,我们有上千个表要映射。
--map-column-java bloatedcolname=null
想法?
只需在您的配置单元导入查询中使用 --columns <col1, col2, col3…>
。
排除不想导入的列。
示例:
我在 RDBMS 中有四列 - id、name、occupation、address,我只想导入 id 和 name。
在导入命令中使用 --columns id, name
。
你可以使用--query
来实现
例如:
sqoop import --query 'select a, b, null as c, null as d from tbl where $CONDITIONS'
$CONDITIONS
用于替换分割的最小值和最大值。
在导入时将某些列转换为空占位符的最佳方法是什么?
是否可以使用映射列功能?
Argument Description
--map-column-java <mapping> Override mapping from SQL to Java type for configured columns.
--map-column-hive <mapping> Override mapping from SQL to Hive type for configured columns.
我们希望模式相同,但有些列只是膨胀太多,所以我们不希望它们被拉入我们的集群。 另一个想法是生成自定义 select 语句,其中膨胀的列为空,但这是 sqoop 的更多配置,我们有上千个表要映射。
--map-column-java bloatedcolname=null
想法?
只需在您的配置单元导入查询中使用 --columns <col1, col2, col3…>
。
排除不想导入的列。
示例:
我在 RDBMS 中有四列 - id、name、occupation、address,我只想导入 id 和 name。
在导入命令中使用 --columns id, name
。
你可以使用--query
来实现
例如:
sqoop import --query 'select a, b, null as c, null as d from tbl where $CONDITIONS'
$CONDITIONS
用于替换分割的最小值和最大值。