分隔符

Hive的基本概念和常用命令

拥有回忆 提交于 2020-01-29 01:46:28
一、概念: 1、结构化和非结构化数据 结构化数据:固有的键值对 非结构数据:没有固定的键值对,没有明确的映射关系 所以就可以理解下面这句话:hive是由facebook开源用于解决海量结构化日志的数据统计项目。 2、Hive是基于Hadoop文件系统上的数据仓库架构,它为数据仓库的管理提供了许多功能:数据ETL(抽取、转换和加载)、数据存储管理和大型数据集的查询和分析能力。 RDBMS(关系型数据库) OLTP(联机事务处理过程):一组事务同时去执行,低延迟,查询为主。 ACID(原子性、一致性、隔离性、持久性) OLAP(联机分析处理过程):以数据仓库为基础,高延迟,分析为主。 3、Hive定义了类SQL语言-Hive QL(HQL),允许用户进行和SQL相似的操作,它可以将结构化的数据文件映射为一张数据表,并提供简单的SQL查询功能,同时允许开发人员方便的使用MR操作,可以将SQL语言转换为MR任务运行。 二、官网: 三、ETL E:Extract 数据抽取 T:Transform 数据转换 L:Load数据装载 ETL是将业务系统的数据经过抽取、清洗转换之后,装载到数据仓库的过程。目的是将分散、零乱、标准不统一的数据整合到一起。例如项目日志信息、数据爬虫信息等。就可以提供决策分析依据了。 数据抽取:把不同的数据源数据抓取过来,存到某个地方。 数据清洗

linux下得管道命令

大兔子大兔子 提交于 2020-01-29 01:21:32
linux系统中管道命令得表现形式是 竖线 也就是 | 例如: netstat -ano | grep 'CLOSW_WAIT' | awk '{print $6 }' | uniq -c 命令就是将管道前得命令输出作为管道后得命令输入。 但是也有很多命令是不支持管道得,那么怎么办呢,比如查找完文件后,需要对每个文件做处理,理论上这里是个for循环,没办法作为管道命令一次性输出给管道后得命令 这个时候xargs命令就是在这种场景下使得管道前得输出可以递归给管道后使用以下为参数 -a file 从文件中读入作为sdtin -e flag ,注意有的时候可能会是-E,flag必须是一个以空格分隔的标志,当xargs分析到含有flag这个标志的时候就停止。 -p 当每次执行一个argument的时候询问一次用户。 -n num 后面加次数,表示命令在执行的时候一次用的argument的个数,默认是用所有的。 -t 表示先打印命令,然后再执行。 -i 或者是-I,这得看linux支持了,将xargs的每项名称,一般是一行一行赋值给 { } ,可以用 { } 代替。 -r no-run-if-empty 当xargs的输入为空的时候则停止xargs,不用再去执行了。 -s num 命令行的最大字符数,指的是 xargs 后面那个命令的最大命令行字符数。 -L num 从标准输入一次读取

awk 简单使用指南

佐手、 提交于 2020-01-28 08:23:35
技术博客: https://github.com/yongxinz/tech-blog 同时,也欢迎关注我的微信公众号 AlwaysBeta ,更多精彩内容等你来。 基本用法: awk '{print $0}' demo.txt 或者管道符方式: netstat | awk '{print $0}' 其中单引号中被大括号括着的就是 awk 语句,注意,其只能被单引号包含。 内建变量: 变量 描述 $0 当前记录(这个变量中存放着整个行的内容) 1 1~ 1 n 当前记录的第n个字段,字段间由FS分隔 FS 输入字段分隔符 默认是空格或Tab NF 当前记录中的字段个数,就是有多少列 NR 已经读出的记录数,就是行号,从1开始,如果有多个文件话,这个值也是不断累加中。 FNR 当前记录数,与NR不同的是,这个值会是各个文件自己的行号 RS 输入的记录分隔符, 默认为换行符 OFS 输出字段分隔符, 默认也是空格 ORS 输出的记录分隔符,默认为换行符 FILENAME 当前输入文件的名字 常用 输出第一列和第四列: netstat | awk '{print $1, $4}' 变量 NF 表示当前行有多少个字段,因此 $NF 就代表最后一个字段。 netstat | awk '{print $NF}' $(NF-1) 代表倒数第二个字段。 netstat | awk '{print

MySQL存储过程和游标

夙愿已清 提交于 2020-01-26 20:16:23
一、存储过程 什么是存储过程,为什么要使用存储过程以及如何使用存储过程,并且介绍创建和使用存储过程的基本语法。 什么是存储过程: 存储过程可以说是一个记录集,它是由一些T-SQL语句组成的代码块,这些T-SQL语句代码像一个方法一样 实现一些功能(对单表或多表的增删改查),然后再给这个代码块取一个名字,在用到这个功能的时候调用 他就行了。 存储过程的好处: 由于数据库执行动作时,是先编译后执行的。然而存储过程是一个编译过的代码块,所以执行效率要比 T-SQL语句高。 一个存储过程在程序在网络中交互时可以替代大堆的T-SQL语句,所以也能降低网络的通信量,提高通信速率。 通过存储过程能够使没有权限的用户在控制之下间接地存取数据库,从而确保数据的安全 存储过程的基本语法: --------------------创建存储过程------------------------------------ CREATE PROCEDURE procedure_name( IN|OUT variable data_type) BENGIN sql_statement; ...... END; -- MySQL支持IN(传递给存储过程)、OUT(从存储过程传出) -- variable 变量 -- data_type 参数的数据类型 -- sql_statement 中 INTO parameter

Hive创建表

狂风中的少年 提交于 2020-01-25 07:38:31
1 hive ddl语句 2 创建表 2.1 创建内部表(托管表,管理表): 表被Hive管控 数据存放在数据仓库中 /user/hive/warehouse --语法: create table 表名( 字段名1 数据类型,字段名 2 数据类型.... ) row format delimited fields terminated by '\001' --指定字段分隔符 collection items terminated by '\002' -- 指定集合的分隔符 map keys terminated by '\003' --指定map的分隔符 lines terminated by '\n' --指定行的分隔符 create table students(id string,name string,java float,c float,mysql float,hadoop float,sex string) row format delimited fields terminated by ',' #将数据添加到students表中 load data local inpath '/home/zx/data/students2.csv' into table students; 运行结果如下: d数据表是存放在数据仓库中 2.2创建外部表: external

为CSV文件选用更合适的分隔符

陌路散爱 提交于 2020-01-24 20:07:54
.csv 文件是广泛应用的一种用于数据处理与交换的文件。不同的软件存储文本数据通常采用不同的格式,而这些软件一般都支持将数据导出为 .csv 文件以便其它软件也能处理它。.csv 文件的每一行代表一条数据记录,而一条数据记录有若干个列,列与列之间用分隔符分开。默认的分隔符是半角逗号: , 但是文本内容具有逗号是不可避免的,于是我们就要换成其它的分隔符。 打开【控制面板】, 然后选择【区域】, 在弹出的窗口中选择【其他设置】, 将【列表分隔符】中的逗号删去,按ALT+31输入“单元分隔符”,然后确定。 ASCII 为 28 到 31 的四个字符均为不可见字符。在文本含有众多字符的情形下,可以选用作为分隔符。 来源: CSDN 作者: 山上一缕烟 链接: https://blog.csdn.net/COFACTOR/article/details/104080950

Python String 方法详解

穿精又带淫゛_ 提交于 2020-01-24 02:21:02
官网文档地址: https://docs.python.org/3/library/stdtypes.html#string-methods 官网 公号:软测小生ruancexiaosheng 文档里的所有String的方法都在下面,基于 Python 3.X 版本,截止日期是2017/10/12日,之后的可能会有更新。花了一天的时间学习并记录了一下 4.7.1. String Methods str. capitalize() --> String   返回字符串,其首字母大写,其余部分小写 1>>> str = "TEST" 2>>> str1= "test" 3>>> print(str + "-->" + str.capitalize() +'\n' + "-->" + str + str1.capitalize()) 4 TEST-->Test 5 TEST-->Test str. casefold ( ) --> String     字符串转换成小写,用于不区分大小写的字符串比较 1>>> str = "TESTtest" 2>>> print(str.casefold()) 3 testtest str. center (width [, fillchar ] ) -->String    指定 长度 (此处是 长度 并不是索引值) 填充字符 1>>> str =

Tomcat:A cookie header was received[xxxxxx] that contained an invalid cookie. That cookie will be ig

别等时光非礼了梦想. 提交于 2020-01-21 09:44:06
Tomcat:A cookie header was received[xxxxxx] that contained an invalid cookie. That cookie will be ignored. 搬运来源:https://blogs.yahoo.co.jp/dk521123/36721868.html 原因: *从Tomcat 8,Cookie的解析已经符合RFC 6265。 *由于RFC 6265不再接受以前允许的逗号分隔符(例如RFC 2109) "Cookie:KEY 1 = VAL 1,KEY 2 = VAL 2"的格式被视为非法 发生过程: *客户端(Java) | HTTPS ↓ 负载均衡器/粘性会话 | HTTP ↓ Apache(v 2.4.6)*也发生在2.2.31版本中 | AJP 1.3 ↓ Tomcat(v8.5.11) ↓ Web服务(Java) RFC 2109 Cookie标头中的分隔符在任何地方都是分号(;)。 #Cookie标头中的分隔符是分号(;)无处不在 服务器还应该接受逗号(,)作为cookie值之间的分隔符,以便将来兼容。 #服务器应该接受逗号和分隔符以向后兼容cookie值。 ⇒换句话说,RFC 2109中的"Cookie:KEY 1 = VAL 1,KEY 2 = VAL 2"正常 RFC 6265 cookie

linux常用基本命令

一世执手 提交于 2020-01-21 03:24:21
查看centos操作系统版本:cat /etc/centos-release 切换到当前用户主目录:cd 创建文件夹/a/b/c:mkdir -pv /a/b/c。如果/a/b/c的父目录不存在,即假如/a不存在或者/a/b不存在,则会自动创建不存在的父目录。p是parents的意思,v是verbose的意思,会打印出相信信息。 创建文件:touch a.txt。创建完就创建完了,不会进入编辑页面哦。 覆盖a.txt内容:echo 'abc' > a.txt 往a.txt追加内容:echo 'abc' >> a.txt 往a.txt追加多行内容:cat << eof >> a.txt 一个大于号和两个大于号的应用场景怎么记忆呢?可以这样记。一个大于号,大于号数少,数据量少,表示是覆盖。两个大于号,大于号多,数据量多,表示是追加。 查看a.txt内容:more a.txt,less a.txt,most a.txt。most命令得自己安装 awk: 一个文本分析工具。假设a.txt的内容是: a aa aaa 1 b bb bbb 2 c cc ccc d dd ddd 4 e ee eee 5 awk有很多内置变量可以使用: NF:每行的字段个数。使用示例:awk '{print "字段数是"NF}' a.txt,打印如下: /*--> */ /*--> */ 字段数是4

Hive(8)-常用查询函数

落花浮王杯 提交于 2020-01-19 15:29:09
一. 空字段赋值 1. 函数说明 NVL:给值为NULL的数据赋值,它的格式是NVL( value,default_value)。它的功能是如果value为NULL,则NVL函数返回default_value的值,否则返回value的值,如果两个参数都为NULL ,则返回NULL。 2. 案例 -- 如果员工的comm为NULL,则用-1代替 select comm,nvl(comm, -1) from emp; -- 如果员工的comm为NULL,则用领导id代替 select comm, nvl(comm,mgr) from emp; 二. case when 1. 函数说明 2. 案例 -- 求出不同部门男女各多少人 select dept_id, sum(case sex when '男' then 1 else 0 end) male_sum, sum(case sex when '女' then 1 else 0 end) female_sum from emp_sex group by dept_id; 三. 行转列(concat) 1. 函数说明 CONCAT(string A/col, string B/col…):返回输入字符串连接后的结果,支持任意个输入字符串; CONCAT_WS(separator, str1, str2,...):它是一个特殊形式的