Hive 创建表

Hive 创建表时正则表达式与java代码中一致,RegexSerDe 中用来表示反转码

1. hive 创建表时正则表达式与java代码中一致,regexserde 中用来表示反转码
create table inst_cn_3 (
  ip string,
  time string,
  mac string,
  lan string,
  ver string,
  lc string,
  pn string,
  reg string,
  vrf string,
  line string)
row format serde ‘org.apache.hadoop.hive.contrib.serde2.regexserde’
with serdeproperties (
  “input.regex” = “- *([d.]+) *[([d]{2}/[w]+/[d]{4}:[d]{2}:[d]{2}:[d]{2}s++[d]+)] *get */mx3/inst/([0-9a-f]{12})/ver=([.d]+),lan=(0x[w]+)(?:,lc=([w]+))(?:,pn=([w]+))(?:,reg=([0-1]))(?:,vrf=([w]+))?.*”
 )
stored as textfile;

alter table inst_cn_3 add columns(line string);
ALTER TABLE inst_cn_3 SET SERDEPROPERTIES (
  “input.regex” = “- ([d.]+) [([d]{2}/[w]+/[d]{4}:[d]{2}:[d]{2}:[d]{2}s++[d]+)] GET /mx3/inst/([0-9a-f]{12})/ver=([.d]+),lan=(0x[w]+)(?:,lc=([w]+))(?:,pn=([w]+))(?:,reg=([0-1]))(?:,vrf=([w]+))?.*|(.*)”
 );
select * from inst_cn_3 limit 100;

select
  line
from inst_cn_3
where
  1=1
  and mac is null
  and line is not null
  and  !(line rlike ‘.*unknowuser00.*’)
  ;

hadoop fs -cp /mnt/nfs/log/statcn/inst/inst_cn_3.*.txt /hive/warehouse/inst_cn_3/
 
2011.06.09 hive时间处理
1.select
  from_unixtime(unix_timestamp(’02/May/2011:00:00:00 +0800′,’dd/MMMMM/yyyy:HH:mm:ss Z’),’yyyy-MM-dd HH:mm:ss’) ,
  from_unixtime(unix_timestamp(’02/May/2011:23:59:59 +0800′,’dd/MMMMM/yyyy:HH:mm:ss Z’),’yyyy-MM-dd HH:mm:ss’)  ,
  from_unixtime(unix_timestamp(’03/May/2011:00:00:00 +0800′,’dd/MMMMM/yyyy:HH:mm:ss Z’),’yyyy-MM-dd HH:mm:ss’) ,
  from_unixtime(unix_timestamp(’03/May/2011:23:59:59 +0800′,’dd/MMMMM/yyyy:HH:mm:ss Z’),’yyyy-MM-dd HH:mm:ss’)
 from
  stat_c_log
where
  1=1
  and partkey = ‘20110503’
  and logType = ‘inst_cn_3’
  and url rlike ‘/mx3/inst/.*’
limit
  10
;

Reclaim.ai Reclaim.ai

为优先事项创建完美的时间表

Reclaim.ai 67 查看详情 Reclaim.ai

2.
select
  from_unixtime(unix_timestamp(’02/May/2011:00:00:00 +0800′,’dd/MMMMM/yyyy:HH:mm:ss Z’),’yyyy-MM-dd HH:mm:ss’) ,
  from_unixtime(unix_timestamp(’02/May/2011:23:59:59 +0800′,’dd/MMMMM/yyyy:HH:mm:ss Z’),’yyyy-MM-dd HH:mm:ss’)  ,
  from_unixtime(unix_timestamp(’03/May/2011:00:00:00 +0800′,’dd/MMMMM/yyyy:HH:mm:ss Z’),’yyyy-MM-dd HH:mm:ss’) ,
  from_unixtime(unix_timestamp(’03/May/2011:23:59:59 +0800′,’dd/MMMMM/yyyy:HH:mm:ss Z’),’yyyy-MM-dd HH:mm:ss’)  ,
  round((unix_timestamp(’02/May/2011:00:00:00 +0800′,’dd/MMMMM/yyyy:HH:mm:ss Z’)-4*3600)/(3600*24))*(3600*24*1000),
  round((unix_timestamp(’02/May/2011:23:59:59 +0800′,’dd/MMMMM/yyyy:HH:mm:ss Z’)-4*3600)/(3600*24))*(3600*24*1000)
 from
  stat_c_log
where
  1=1
  and partkey = ‘20110503’
  and logType = ‘inst_cn_3’
  and url rlike ‘/mx3/inst/.*’
limit
  10
;

2012.03.01
  1. Hive 方法注册类 FunctionRegistry
2012.06.14
  1. set hive.cli.print.header=true; 可以设置hive shell的输出.
2012.06.26
  1. hive cdh4b2 使用arichive 对表归档后, 使用select line 对归档后的partition查询时,, 报FileNotFoundException 异常。
    https://issues.apache.org/jira/browse/MAPREDUCE-2704 是因为CombineFileInputFormat constructs new Path objects by converting an existing path to a URI, and then only pulling out the “path” part of it. This drops the scheme and host, which makes CombineFileInputFormat fail if the paths are on a filesystem other than the default one.
 2012.07.16
  1. EXPLAIN EXTENDED hive_query; 查看运行.
2012.07.29
  1. DESCRIBE FORMATTED mock; 显示columns, location, params等.
  2. /src/ql/src/test/queries/clientpositive/

linux

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1084182.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月2日 22:53:20
下一篇 2025年12月2日 22:55:59

相关推荐

  • Oracle DATE 类型存储时间戳及如何仅存储日期

    本文旨在解释 Oracle 数据库中 DATE 类型总是包含时间戳的原因,并提供在数据库中存储日期时去除时间部分的方法,重点介绍如何通过格式化函数控制日期显示,而非修改数据库结构。 在 Oracle 数据库中,DATE 类型的设计初衷就是同时存储日期和时间信息。即使你只关心日期部分,DATE 类型仍…

    2025年12月6日 java
    000
  • mysql中事务隔离级别有哪些

    读未提交允许读取未提交数据,易引发脏读、不可重复读和幻读;2. 读已提交确保读取已提交数据,避免脏读但存在不可重复读和幻读;3. 可重复读保证事务内多次读取一致,MySQL默认级别,通过MVCC和间隙锁减少幻读;4. 串行化强制事务串行执行,避免所有并发问题但性能最差。选择隔离级别需权衡一致性与性能…

    2025年12月6日 数据库
    000
  • 深入理解Oracle DATE类型:存储与显示策略

    oracle数据库的`date`数据类型是一个经常引起误解的方面。许多开发者,尤其是习惯于其他数据库中可能存在纯日期类型的开发者,会发现oracle的`date`类型即使在只提供日期值时,也会自动存储一个时间组件,默认为午夜(00:00:00)。这并非一个需要“修复”的错误,而是该数据类型的固有特性…

    2025年12月6日 java
    000
  • 优化MySQL电话号码字段搜索:解决空格与格式多样性问题

    本文详细介绍了在mysql数据库中,如何高效地搜索包含空格或多种格式的电话号码字段。针对`like`查询无法识别空格字符的问题,核心解决方案是利用`replace`函数在查询时移除字段中的空格,从而实现准确匹配。教程还将探讨更全面的数据清洗策略和性能优化建议,以提升搜索效率和数据质量。 在数据库管理…

    2025年12月6日 后端开发
    000
  • Linux中如何安装Java环境_Linux安装Java环境的完整指南

    先确认系统架构和发行版,再选择安装方式。1. 使用包管理器安装OpenJDK:Ubuntu/Debian用apt install openjdk-17-jdk,CentOS/RHEL/Fedora用dnf install java-17-openjdk-devel。2. 手动安装Oracle JDK…

    2025年12月6日 运维
    000
  • OpenJPA 在 Oracle 中处理字符串长度限制的警告与解决方案

    本文深入探讨了 openjpa 在与 oracle 数据库交互时,针对字符串字段可能遇到的“值超过 4000 字节/字符”的警告信息。该警告源于 oracle `varchar2` 数据类型的默认 4000 字节限制。教程将详细介绍两种主要的解决方案:通过 `@column(length = n)`…

    2025年12月6日 java
    000
  • Java中MANIFEST.MF的作用 详解清单文件

    manifest.mf是java中jar文件的元数据配置文件,位于meta-inf目录下,用于定义版本、主类、依赖路径等关键信息。1. 它允许指定入口类,使jar可直接运行;2. 通过class-path管理依赖,减少类加载冲突;3. 可配置安全权限,如设置沙箱运行;4. 常见属性包括manifes…

    2025年12月5日 java
    000
  • SQL文件如何Mysql 导入数据库

    1、在 win 系统下使用 mysql 中的source命令即可实现导入 sql 文件: mysql -u root -pmysql>use 数据库名mysql>source d:/数据库名 这样就完成了 Win 系统下的 SQL 文件的导入。 2、在 Linux 系统下导入 SQL 文…

    数据库 2025年12月5日
    100
  • Java中枚举类型怎么定义 掌握Java枚举的定义和常用方法

    java中定义枚举类型使用enum关键字,例如public enum weekday { monday, tuesday,…};枚举可包含字段和方法,如添加中文名称字段及获取方法;可在switch语句中使用,确保覆盖所有值;常用方法包括values()、valueof()、ordinal…

    2025年12月4日 java
    000
  • linux下数据库有哪些

    linux下数据库有:1、Oracle;2、MySQL;3、MariaDB;4、SQL Server;5、Memcached,“Key-Value”型数据库;6、Redis,“Key-Value”型数据库;7、MongoDB等。 本教程操作环境:Red Hat Enterprise Linux 6.…

    2025年12月4日 运维
    000
  • MySQL关系型数据库事务的ACID特性与实现方法

    1. 事务的 ACID 特性详 acid 是为保证事务(transaction)是正确可靠的,所必须具备的四个特性: 原子性(Atomicity):事务中的操作同时成功或者失败。 一致性(Consistency):数据库事务不能破坏数据的完整性以及业务逻辑上的一致。 隔离性(Isolation):一…

    数据库 2025年12月4日
    700
  • oracle/mysql拼接值遇到的坑及双竖线||和concat怎么使用

    %ign%ignore_a_1%re_a_1% mysql 拼接值遇到的坑 双竖线 || concat || “||” 在oracle中是拼接值,但在mysql中是“或”的意思。 where name like ‘%’ || ‘Tony’ || ‘%’ 所以推荐使用concat() concat()…

    数据库 2025年12月4日
    000
  • Linux实现自动挂载autofs的方法详解

    ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 目录 实现自动挂载-autofs autofs工具简单使用 autofs配置详细说明 自动挂载资源有两种格式 优化Linux系统性能 安装Tuned 选择调整配置文件 检查系统推荐的调整配置文件…

    2025年12月4日
    000
  • 简易项目搭建(用于一般杂七杂八的小功能点)

    在工作中,我们常常会遇到许多需要完成的小功能点。以我自己的工作情况为例,最常见的是两个方面:1、控制台项目;2、web界面(纯前端)。 首先让我们讨论控制台项目的工作内容。在没有使用PostMan之前,工作中大量使用接口调用。在项目准备阶段,首先需要对接口的使用进行描述。在主要使用WebServic…

    2025年12月4日
    000
  • 分页功能如何实现?LIMIT与页码计算

    分页功能通过offset和limit截取数据实现。1.分页核心是计算偏移量(offset=(页码-1)每页条数)和限制数量;2.使用sql的limit子句或数据库特定语法(如sql server的offset…fetch next)执行查询;3.前端传页码和每页大小,后端计算偏移量并执行…

    2025年12月3日 后端开发
    000
  • Java中DAO模式的作用 解析DAO模式封装数据访问的价值

    dao模式通过解耦业务逻辑与数据访问,解决了数据库切换困难、sql注入风险和代码重复问题。其核心价值在于将数据访问细节封装在接口和实现类中,使业务代码仅面向接口编程,从而降低维护成本。具体步骤包括:1.定义dao接口;2.创建具体实现类;3.使用工厂模式获取实例;4.在业务逻辑中调用dao方法。技术…

    2025年12月3日 java
    000
  • Swoole如何做数据加密?加密算法如何选择?

    Swoole中数据加密依赖PHP的OpenSSL扩展,通过选择AES、RSA等算法实现;在Server或Client的接收与发送过程中进行加解密操作,结合CBC、GCM等模式保障安全与性能;密钥应通过环境变量或配置文件管理,避免硬编码;为防止中间人攻击,应启用TLS/SSL加密通信,并在WebSoc…

    2025年12月3日
    100
  • 怎么使用Mysql来管理关系型数据库

    第一步,安装MySQL 在使用MySQL之前,你需要先安装MySQL。你可以从MySQL官方网站https://dev.mysql.com/downloads/mysql/ 下载MySQL安装程序,并根据提示完成安装过程。在安装过程中,你可以设置root用户密码和端口等相关信息。 第二步,连接MyS…

    数据库 2025年12月3日
    000
  • SpringBoot如何连接MySQL获取数据写后端接口

    1.新建项目 2.添加依赖 mysql mysql-connector-java 8.0.20 org.springframework spring-jdbc 5.3.8 org.springframework spring-tx 5.3.8 org.springframework spring-a…

    2025年12月3日 数据库
    000
  • Swoole如何实现多租户?租户隔离怎么操作?

    Swoole实现多租户的核心在于协程上下文隔离,通过Coroutine::getContext()绑定租户ID、数据库连接、缓存前缀等上下文信息,在请求入口识别租户并加载配置,确保数据、缓存、文件存储、数据库连接等资源按租户隔离,避免长驻内存导致的数据泄露,结合连接池重置、缓存键前缀、独立表或库等策…

    2025年12月3日
    000

发表回复

登录后才能评论
关注微信