在导入时将某些列转换为空占位符的最佳方法是什么?
是否可以使用地图栏功能?
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.
我们希望架构完全相同,但是某些列只会占据很大的空间,所以我们不希望它们被拉入我们的集群。 另一个想法是生成自定义选择语句,其中膨胀列为空,但这是sqoop的更多配置,我们有一千个表来映射。
--map-column-java bloatedcolname=null
思想?
答案 0 :(得分:1)
您可以使用此{/ 1}}
例如:
String str1="Mother In Law";
String str2="Hitler Woman";
char[] anag1=str1.replaceAll("\\s", "").toLowerCase().toCharArray();
char[] anag2=str2.replaceAll("\\s", "").toLowerCase().toCharArray();
Arrays.sort(anag1);
Arrays.sort(anag2);
System.out.println(Arrays.equals(anag1, anag2)? "words are anagrams":"words are not anagrams");
--query
用于替换split的最小值和最大值。
答案 1 :(得分:0)
只需在您的配置单元导入查询中使用--columns <col1, col2, col3…>
。
排除您不想导入的列。
示例:强>
我在RDBMS中有四列 - id,name,Occup,address,我只想导入id和name。
在导入命令中使用--columns id, name
。