Hive 表创建导入文件查询显示NULL

Hive在创建表时,会指定分隔符,如下图 设定为 tab 分隔属性列 \n分隔记录


但是我们上传的文档格式不是如此时就会出现 记录已经保存  但查询结果确是一列列NULL的情况

下图为要上传的txt文件格式,但列间隔确是空格分隔 ,所以查询不到准确的记录


解决方法有两种:

1.创建表时,按文件的分隔标识设置表,修改fields 、lines 分隔符。eg:针对上面俩图的情况,将第一图的\t用空格替换即可

2.修改文件分隔符   。eg :针对上面俩图的情况,将第二图各列数据用tab分隔.

建议:改文本分隔格式,因为默认的数据库文本导入列分隔符为tab

如果使用mysql导入本地文件,如果列用空格分隔 会导致只能填充第一字段的情况。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将Excel导入Hive,首先需要将Excel文件转换为Linux系统能够读取的txt格式文件。然后,将这个txt文件导入到HDFS文件系统中。接下来,根据Excel中的数据结构,在Hive创建相应的,并确保结构顺序一致。最后,使用load命令将HDFS文件中的数据导入Hive中。具体代码如下: 1. 转换Excel为txt格式文件导入到HDFS文件系统中: - 可以使用Python或其他工具将Excel文件转换为txt格式文件,并将其上传到HDFS文件系统中。 - 假设Excel文件已经转换为名为ods_tj_farm_feed.txt的txt文件,并上传到HDFS的/tmp目录下。 2. 在Hive创建: - 根据Excel中的数据结构,在Hive创建相应的。例如,可以使用以下代码创建名为ods_tj_farm_feed的: ``` CREATE TABLE ods_tj_farm_feed ( column1 datatype1, column2 datatype2, ... ); ``` 3. 使用load命令将数据导入Hive: - 可以使用以下命令将/tmp/ods_tj_farm_feed.txt文件中的数据导入到ods_tj_farm_feed中: ``` LOAD DATA INPATH '/tmp/ods_tj_farm_feed.txt' INTO TABLE ods_tj_farm_feed; ``` 通过以上步骤,可以将Excel数据成功导入Hive中。请注意,具体的文件路径和结构需要根据实际情况进行设置和调整。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Excel文件导入hive](https://blog.csdn.net/qq_41495340/article/details/118177209)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [python处理数据,存进hive的方法](https://download.csdn.net/download/weixin_38717574/12867789)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值