话说,今天央视重新转播NBA,写篇博客纪念一下这个重要的日子,湖人的表现就呵呵了!!!!
强行转到博客的主题来,拒绝做标题党
mysql的字段属性:该字段能存下的值比如:“山 东”
`province` varchar(3) NOT NULL COMMENT '省份'
用sqoop
sqoop import --connect "jdbc:mysql://xxxxxx:3306/xxxxxx?tinyInt1isBit=false&zeroDateTimeBehavior=convertToNull" --username xxxxxx --password xxxxxx \
--query "
select
province
from xxxxxx where \$CONDITIONS" \
--split-by id \
--m 10 \
--drop-and-create-hcatalog-table \
--hcatalog-table xxxxxx\
--hcatalog-storage-stanza 'stored as orc tblproperties ("orc.compress"="SNAPPY")'抽取到hive以后,hive 的varchar(3) 只能存下一个中文汉字: “山” 后面的内容被自动截去了
查看hive的varchar和string的区别
1.Hive-0.12.0版本引入了VARCHAR类型,VARCHAR类型使用长度指示器(1到65355)创建,
长度指示器定义了在字符串中允许的最大字符数量。
如果一个字符串值转换为或者被赋予一个varchar值,
其长度超过了长度指示器则该字符串值会自动被截断。
2.STRING存储变长的文本,对长度没有限制。在shell脚本中加入参数:--map-column-hive province=string \ 将该字段的类型转为string就可以解决这个问题了
--m 10 \
--map-column-hive province=string \
--drop-and-create-hcatalog-table \有田不耕仓廪虚,有书不读子孙愚。
版权声明:本文为weixin_42312342原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。