hive默认分隔符引起的日志分割问题
Hive中的外部表
hive -e "describe extended xxx partition (dateid=20141230)"
field1 string
dateid string # Partition Information
# col_name data_type comment dateid string Detailed Partition Information Partition(values:[20141230], dbName:logbase_db, tableName:logbase, createTime:1419984079, lastAccessTime:0, sd:StorageDescriptor(cols:[FieldSchema(name:doc, type:string, comment:null), FieldSchema(name:dateid, type:string, comment:null)], location:hdfs://ns1/xxx/20141230, inputFormat:com.inputformat.XXXInputFormat, outputFormat:org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat, compressed:false, numBuckets:-1, serdeInfo:SerDeInfo(name:null, serializationLib:org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe, parameters:{serialization.format=1}), bucketCols:[], sortCols:[], parameters:{}, skewedInfo:SkewedInfo(skewedColNames:[], skewedColValues:[], skewedColValueLocationMaps:{}), storedAsSubDirectories:false), parameters:{numFiles=129, transient_lastDdlTime=1419984079, COLUMN_STATS_ACCURATE=false, numRows=-1, totalSize=170482370617, rawDataSize=-1})
Time taken: 0.994 seconds, Fetched: 9 row(s)
CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name
(col_name data_type, ...)
[PARTITIONED BY (col_name data_type, ...)]
[CLUSTERED BY (col_name, col_name, ...)]
[SORTED BY (col_name, col_name, ...)]
[ROW FORMAT row_formart]
[STORED AS file_format]
[LOCATION hdfs_path]
[AS select_statement]
CREATE [EXTERNAL] TABLE [IF NOT EXIST] table_name LIKE existing_table name
[LOCATION hdfs_path]
- CREATE TABLE:创建一个指定名字的表名。如果已经存在,使用IF NOT EXIST来忽略抛出的异常
- EXTERNAL:创建一个外部表,也就是说在创建一个表的同时指定一个指向实际数据的路径。
- LIKE:允许复制一个已经存在的表的定义,而不复制表中已经存在的内容。
- PARTITIONED BY:建立带有分区的表。
- CLUSTERED:对表和分区进行类聚操作。
- SORT BY:根据某个字段进行排序,可以提高数据的查询效率。
INPUTFORMAT 'xxxHiveInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION '/aaa/hive-table'
org.apache.hadoop.hive.ql.io.HiveContextAwareRecordReader
Hive中的分隔符
cat a.log
tp=imp^ti=1419076654^md=iPhone3,1^__tid=5zKN0REAy8M%253D^mh=640.00x960.00^me=7.1.2^mf=84fef4314602f88b90dad8f2a9d4b23dv1.1t1419076650kcom.qiyi.iphone^mk=1^plt=1^mn=iphone^m9=128f0ab5^os=i^mm=31.892004x119.898267x50.000000^mp=com.qiyi.iphone^e=i___m^mo=1^m5=9920F2E3-4BDB-430F-BCC3-6ACF6EC6F155^kt=mma^mt=1419076649529^a=UoNVX034P723^rawIp=222.185.12.59^mw=1^j=zh^k=2001515^av=11^ip=222.185.12.59^m0=604a45ed52a06f1535711e3c68a130f2edc^pf=c1^p=101324851^pu=m^pn=iphone^rt=2^uuid=9920f2e3-4bdb-430f-bcc3-6acf6ec6f155^po=http%3a%2f%2fmlt01.com%2fo.htm%3fpv%3d0%26sp%3d0%2c1195912%2c1199754%2c2213157%2c0%2c1%2c1^ag=34
但是通过cat -A(--show-all),就可以看出所有的隐藏字符:
cat -A a.log
tp=imp^ti=1419076654^md=iPhone3,1^__tid=5zKN0REAy8M%253D^mh=640.00x960.00^me=7.1.2^mf=84fef4314602f88b90dad8f2a9d4b23dv1.1t1419076650kcom.qiyi.iphone^mk=1^plt=1^mn=iphone^m9=128f0ab5^os=i^mm=31.892004x119.898267x50.000000^mp=com.qiyi.iphone^e=i___m^mo=1^m5=9920F2E3-4BDB-430F-BCC3-6ACF6EC6F155^kt=mma^mt=1419076649529^a=UoNVX034P723^rawIp=222.185.12.59^mw=1^j=zh^k=2001515^av=11^ip=222.185.12.59^m0=604a45ed52a06f15357^A11e^@^@^@^@3c68a130f2edc^pf=c1^p=101324851^pu=m^pn=iphone^rt=2^uuid=9920f2e3-4bdb-430f-bcc3-6acf6ec6f155^po=http%3a%2f%2fmlt01.com%2fo.htm%3fpv%3d0%26sp%3d0%2c1195912%2c1199754%2c2213157%2c0%2c1%2c1^ag=34$
hive默认分隔符引起的日志分割问题的更多相关文章
- Hive 默认分隔符
引言 Hive 中的默认分隔符是 ^A (\001) ,这是一种特殊的分隔符,使用的是 ASCII 编码的值,键盘是打不出来的 查看 Hive 默认分隔符文件 Linux 上的文件 以 \001 作为 ...
- hive默认分隔符
默认分隔符‘\001',对应ascii码SOH: 通过cat -A filename可以查看分隔符:
- Hive默认分割符
1.Hive默认的分隔符 Hive的表数据,不管导出到HDFS还是本地文件系统,如果用户在导出时没有指定分割符,那么Hive表的数据在写入文件时,会使用默认的分隔符作为列分隔符,该默认的分割是“CTR ...
- Hive 特殊分隔符处理
HIVE特殊分隔符处理 Hive对文件中的分隔符默认情况下只支持单字节分隔符,,默认单字符是\001.当然你也可以在创建表格时指定数据的分割符号.但是如果数据文件中的分隔符是多字符的,如下图: 01| ...
- nginx 直接在配置文章中设置日志分割
直接在nginx配置文件中,配置日志循环,而不需使用logrotate或配置cron任务.需要使用到$time_iso8601 内嵌变量来获取时间.$time_iso8601格式如下:2015-08- ...
- apache2.4配置访问日志分割并过滤图片CSS等无用内容
相关信息 1.apache日志有访问日志和错误日志,错误日志根据日志级别来输出错误信息,而访问日志根据定义的日志格式来记录访问动作 2.访问日志格式在httpd.conf文件里面定义,在虚拟主机里面引 ...
- python 跨模块实现按照文件大小,日期实现日志分割,反转
笔者的一个自动化测试平台项目,采用了python作为后端服务器语言.项目基于快速成型目的,写了一个极其简陋的日志记录功能,支持日志记录到文件和支持根据日志级别在终端打印不同颜色的log.但随着测试平台 ...
- Nginx高性能服务器安装、配置、运维 (6) —— Nginx日志及日志分割
七.Nginx日志及日志分割 (1)Nginx日志文件 查看Nginx配置文件: 找到access_log,yum安装默认存储在/var/log/nginx目录下,且默认main格式: main格式定 ...
- nginx 日志分割(简单、全面)
Nginx 日志分割 因业务需要做了简单的Nginx 日志分割, 第1章 详细配置如下. #建议在mkdir /home/shell -p 专门写shell 脚本位置 root@localhost ...
随机推荐
- iOS开发探索-高斯模糊&毛玻璃效果
iOS开发中有的时候需要将图片设置模糊,来实现特定的效果获取更好的用户体验, iOS7之后半透明模糊效果得到大范围使用的比较大,现在也可以看到很多应用局部用到了图片模糊效果,可以通过高斯模糊和毛玻璃效 ...
- linux系统挂载NTFS移动硬盘
有时候做大数据量迁移时,为了快速迁移大数据,有可能在Linux服务器上临时挂载NTFS格式的移动硬盘, 一般情况下,Linux是识别不了NTFS格式移动硬盘的(需要重编译Linux核心才能,加挂NTF ...
- fidder设置断点,修改请求参数等
设置断点(来自:http://jingyan.baidu.com/article/17bd8e52216c8d85ab2bb8e9.html): 可以看到当前有一个抓取的很多的包的链接的地址的信息,那 ...
- CString与输入输出流对象问题。
在C++ 编程出现:cin>>Id;没有与这些操作匹配的">>"运算符: 你要看你的Id的数据类型,如果是CString等字符串,要用cin.getline ...
- flowable DmnEngine和DmnEngineConfiguration
一.DmnEngineConfiguration创建实例 DmnEngineConfiguration 提供了7个公共的静态方法,用于创建自身实例. 其中5个是使用spring的机制加载配置文件. 另 ...
- Eclipse下搭建SWT与Swing图形界面开发环境
一.SWT与Swing介绍 SWT(StandardWidget Toolkit)则是由Eclipse项目组织开发的一套完整的图形界面开发包,虽然当初仅仅是IBM为了编写Eclipse的IDE环境才编 ...
- 2.JSR简介 - JavaEE基础系列
JSR, Java Specification Request, Java规范请求; 也有的地方翻译为Java规范提案. 在前面的文章 1. Java EE简介 - JavaEE基础系列中, 简要介绍 ...
- pdf 转图片,提取图片研究心得
1.pdf 中的数据是有多种编码的,详情请看:http://www.cnblogs.com/zendu/p/7644465.html 2.我的工作场景比较特殊,pdf中全部是图片,所以pdf转图片就有 ...
- linux下升级svn版本到1.8
CentOS6.5默认yum安装的svn版本为1.6,有时候遇到比较高级的应用就可能不够使用,这时候就需要升级一下svn的版本,可以升级到的版本为1.8 ====== 完美的分割线 ====== 1. ...
- RankNet
RankNet 论文的笔记:Learning to rank using gradient descent. 模型 特征 \(\mathbf x_i \in \mathbb R^d\) 模型函数:\( ...