咻咻咻383 2024-05-08 20:56 采纳率: 100%
浏览 5
已结题

hive外部表从hdfs中导入数据以!作为分隔符,无法正常列分割

我的数据集是以!作为分割的,举个例子:

太行大峡谷!5A景区![河南·安阳·林州市]!地址:安阳市林州市石板岩乡林石线!内有开凿在山崖中的栈道!¥95 起! 9 
红旗渠!5A景区![河南·安阳·林州市]!地址:安阳市林州市!太行山悬崖峭壁间人工天河!¥80 起! 1 
殷墟!5A景区![河南·安阳·安阳县]!地址:安阳市殷都区殷墟路1号!商后期都城遗址!¥50 起! 7 
万泉湖风景区!4A景区![河南·安阳·林州市]!地址:安阳市林州市临淇镇!美不胜收的万泉湖,享受一场视觉盛宴!¥59.9 起!0
马氏庄园!4A景区![河南·安阳·安阳县]!地址:安阳市安阳县蒋村镇西蒋村!气势宏伟壮观,布局严谨,建筑错落有致!¥35 起!0
中国文字博物馆!4A景区![河南·安阳·文峰区]!地址:安阳市北关区人民大道东段656号!了解中国文字的发展历程!¥45 起!0

但是我在hive创建外部表的时候,查看插入效果,总是插入的结果列的部分没有分隔开!

#创建表语句
create external table ay(name string,level string,area string,address string,introduction string,price string,relation string) row format delimited fields terminated by ' !' stored as textfile location '/work/' ;

查验结果:

img

  • 写回答

1条回答 默认 最新

  • 咻咻咻383 2024-05-08 21:33
    关注

    因为用show functions;可以查到:'!'是一个系统自带的自定义函数,所以不生效。解决办法:在爬虫获取数据的时候,可以把分割符号改为‘\t’,那么创表语句就可以写成“create external table ay(name string,level string,area string,address string,introduction string,price string,relation string) row format delimited fields terminated by '\t' stored as textfile location '/work/' ;”
    成功!

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月16日
  • 已采纳回答 5月8日
  • 创建了问题 5月8日

悬赏问题

  • ¥15 请问Ubuntu要怎么安装chrome呀?
  • ¥15 视频编码 十六进制问题
  • ¥15 Xsheii7我安装这个文件的时候跳出来另一个文件已锁定文件的无一部分进程无法访问。这个该怎么解决
  • ¥15 unity terrain打包后地形错位,跟建筑不在同一个位置,怎么办
  • ¥15 FileNotFoundError 解决方案
  • ¥15 uniapp实现如下图的图表功能
  • ¥15 u-subsection如何修改相邻两个节点样式
  • ¥30 vs2010开发 WFP(windows filtering platform)
  • ¥15 服务端控制goose报文控制块的发布问题
  • ¥15 学习指导与未来导向啊