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

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

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

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

解决方法有两种:

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

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

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

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

时间: 2024-11-03 05:37:20

Hive 表创建导入文件查询显示NULL的相关文章

iOS开发- 文件共享(利用iTunes导入文件, 并且显示已有文件)

今天要实现一个功能, 通过iTunes导入文件到应用中, 并且在应用中对这个文件进行编辑. 类似我们平时经常使用的 PDF阅读器那样的东西, 我们可以自己导入我们的电子书. 源码下载:https://github.com/colin1994/iTunesTest.git 下面具体介绍下实现过程. 先看效果图. 图1. 未实现功能前, iTunes截图 图2. 实现功能后, iTunes截图 图3. 实现功能后, 运行截图. 好了, 通过图片, 我们可以看到实现的效果. 功能包括: 允许通过iTu

iOS发展- 文件共享(使用iTunes导入文件, 并显示现有文件)

到今天实现功能, 由iTunes导入文件的应用程序, 并在此文档进行编辑的应用. 就像我们平时经常使用 PDF阅读这样的事情, 们能够自己导入我们的电子书. 源代码下载:https://github.com/colin1994/iTunesTest.git 以下详细介绍下实现过程. 先看效果图. 图1. 未实现功能前, iTunes截图 图2. 实现功能后, iTunes截图 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGl0d2h5bHo=/fo

mysq将表数据导入文件并将文件从远程服务下载到本地

1,将mysql中某个表的数据导入到文件: 首先,将要执行的sql写在一个后缀为".sql"的文件(比如:sql20170720.sql,内容为:select * from db_deb.t_low where  create_time between "2017-06-19 00:00:00" and "2017-07-20 23:59:59" ;). 然后执行:mysql -h100.11.111.20 -Pabvf.--default-ch

将Hive统计分析结果导入到MySQL数据库表中(一)——Sqoop导入方式

最近在做一个交通流的数据分析,需求是对于海量的城市交通数据,需要使用MapReduce清洗后导入到HBase中存储,然后使用Hive外部表关联HBase,对HBase中数据进行查询.统计分析,将分析结果保存在一张Hive表中,最后使用Sqoop将该表中数据导入到MySQL中.整个流程大概如下: 下面我主要介绍Hive关联HBase表--Sqoop导出Hive表到MySQL这些流程,原始数据集收集.MapReduce清洗及WEB界面展示此处不介绍. 一.HBase数据库表 hbase(main):

hive-hbase-handler方式导入hive表数据到hbase表中

Hive与HBase的整合功能的实现是利用两者本身对外的API接口互相进行通信,相互通信主要是依靠hive-hbase-handler.jar工具类 : hive-hbase-handler.jar在hive的lib包中而不是在hbase的lib中,hive0.6版本以后: 创建hive表的同时创建hbase表,删除 hive表的同时也会删除对应的hbase表. 参见官方文档:https://cwiki.apache.org/confluence/display/Hive/HBaseIntegr

HIVE表数据Kibana展示

如果我们想展示hive中的数据,则可以使用Kibana展示工具,而在这之前需要把hive表数据导入到es中,这就用到了ES-Hadoop插件. 插件安装: 下载地址:https://github.com/elasticsearch/elasticsearch-hadoop#readme add上面的jar包到hive hive –e "add jar elasticsearch-hadoop-2.1.1.jar;" 假如我们现在想把表dms.visit_path表中的数据展示,步骤如下

hive表查询中文显示乱码

hive在查询表信息时,中文显示乱码,数字或者url显现null问题解决思路. 1.确定create hive表时指定的row format delimited fields terminated by 'xxx'中"xxx"格式是否和原始导入表的data的行列分隔格式一致,如不一致,则会出现select结果中数字或者url显现null等问题,所以需先统一格式. 2.Windows使用的GB2312编码,大多数Linux系统支持的是UTF-8编码,而在Windows远程登陆时使用的是本

Hive数据导入——数据存储在Hadoop分布式文件系统中,往Hive表里面导入数据只是简单的将数据移动到表所在的目录中!

转自:http://blog.csdn.net/lifuxiangcaohui/article/details/40588929 Hive是基于Hadoop分布式文件系统的,它的数据存储在Hadoop分布式文件系统中.Hive本身是没有专门的数据存储格式,也没有为数据建立索引,只需要在创建表的时候告诉Hive数据中的列分隔符和行分隔符,Hive就可以解析数据.所以往Hive表里面导入数据只是简单的将数据移动到表所在的目录中! Hive的几种常见的数据导入方式这里介绍四种:(1).从本地文件系统中

将Hive统计分析结果导入到MySQL数据库表中(三)——使用Hive UDF或GenericUDF

前面我分别介绍了两种Hive将分析结果导入到MySQL表的两种方式:Sqoop导入方式和使用Hive.MySQL JDBC驱动,现在我介绍第三种,也是使用比较多的方式--使用Hive 自定义函数(UDF或GenericUDF)将每条记录插入到数据库表中. 一.使用UDF方式 使用UDF方式实现比较简单,只要继承UDF类,并重写evaluate方法即可 1.编写实现类 package com.gxnzx.hive.udf; import org.apache.hadoop.hive.ql.exec