首页 > 网络 > 云计算 >

世界杯外围投注官网

2018-03-27

基本架构及环境部署。

一、Linux软件管理
-》压缩文件管理
-》常见压缩格式
-》zip/rar
-》zip/.tar.gz/.tar.bz2
-》unzip
-》tar:打包或者解包的命令
-》gzip
-》后缀:.gz
-》压缩:gzip filename
压缩以后不保留源文件
-》解压:gunzip filename.gz
-》bzip2
-》后缀:.bz2
-》不支持压缩文件夹
-》gzip打包并且压缩:tar -zcvf target.tar.gz /directory
-》解压:tar -zxvf source.tar.gz -C /target_dir
.tar.gz / .tgz
-》bzip打包并且压缩:tar -jcvf target.tar.bz2 /directory
-》解压:tar -jxvf source.tar.bz2 -C /target_dir
-》常用参数
z:压缩为gzip格式
j:压缩为bzip2格式
c:打包
x:解包
v:显示
f:档名 ,如果使用该参数,该参数必须是最后一个参数,该参数后面一定要跟文件名
t:text用于查看压缩文件中的内容
-》软件安装
-》windows上的软件类型:exe、msi、文件夹、bat(脚本)
-》Linux的软件类型:rpm、dpkg、文件夹、源码
-》rpm:Redhat系列最常见的一种软件格式
-》名称
软件名称-版本.操作系统.操作系统版本.格式
zlib-1.2.3-29.el6.i686.rpm
zlib-1.2.3-29.el6.x86_64.rpm
zlib-devel-1.2.3-29.el6.i686.rpm
zlib-devel-1.2.3-29.el6.x86_64.rpm
devel、lib、util
-》查看:qa
rpm -qa | grep java
-》安装:ivh
rpm -ivh ****.rpm
rpm -ivh Packages/zlib-devel-1.2.3-29.el6.x86_64.rpm
-》卸载:e
rpm -e zlib-devel-1.2.3-29.el6.x86_64
rpm -e --nodeps tzdata-java-2014g-1.el6.noarch java-1.7.0-openjdk-1.7.0.65-2.5.1.2.el6_5.x86_64 java-1.6.0-openjdk-1.6.0.0-11.1.13.4.el6.x86_64
--nodeps:表示不考虑依赖
-》查看某个文件的安装包:qf
rpm -qf command
rpm -qf /bin/ls
-》查看某个软件的安装文件
rpm -ql
-》rpm无法解决软件安装依赖的问题
-》yum:通过安装源进行安装,自动解决依赖的问题
-》安装源=软件库(本地的、联网)
-》查看:
yum list : 查看当前yum源可安装的所有软件
-》国内的:网易163、搜狐、阿里
Centos-6-Default.repo
/etc/yum.repo.d
-》查看已安装的软件
yum list installed
-》卸载:
yum remove [-y] soft_name
-》安装:
yum install [-y] soft_name
-》文件夹
-》解压=安装
-》配置=修改文件
-》启动
-》源码
-》c/c++
-》预编译:configure
./configure --prefix=/usr
-》编译:make
-》安装:make install
-》java
-》Maven
mvn complie
二、运算符与表达式
-》环境变量
-》全局环境变量:对所有世界杯体育投注平台都生效
/etc/profile
-》世界杯体育投注平台环境变量:只对该世界杯体育投注平台生效
~/.bash_profile
-》Linux脚本中的变量
-》定义变量的格式
var=value
-》打印变量
echo ${var}
$var
-》变量类型:没有类型
a=1
a=aaaa
a="hello world"
-》预定义的变量
-》$1-$9:表示脚本的第一个到第九个参数
-》$0:表示当前脚本的名称
-》$!:表示当前进程的pid
-》$:表示上一条命令执行的结果
0:执行成功
非0:不成功
-》$世界杯外围投注官网:参数总个数
-》$@:所有参数,分割
-》$*:所有参数,整体
-》编写脚本:
-》头部:世界杯外围投注官网!/bin/bash
-》内容
-》定义变量:
-》变量名称可读
-》系统变量大写
-》通配符与正则
-》通配符
*:匹配多个字符
: 匹配单个字符
ls find cp
-》正则表达式
^:表示以什么开头
$:表示以什么结尾
.:匹配单个字符
*:匹配多个字符
.*
[]:范围
[0-9]:表示0-9之间的任意一个数字
[a-z]
[A-Z]
\:转义
-》支持的命令
grep:过滤数据行
grep &世界杯外围投注官网39;r..t&世界杯外围投注官网39; /etc/passwd
grep &世界杯外围投注官网39;[0-9]:[0-9]&世界杯外围投注官网39; /etc/passwd
sed:用于数据行的处理
sed &世界杯外围投注官网39;s/root/roooot/g&世界杯外围投注官网39; /etc/passwd
ifconfig | grep &世界杯外围投注官网39;inet addr&世界杯外围投注官网39; | grep -v &世界杯外围投注官网39;127.0.0.1&世界杯外围投注官网39; | sed &世界杯外围投注官网39;s/inet addr://g&世界杯外围投注官网39; | sed &世界杯外围投注官网39;s/Bc.*//g&世界杯外围投注官网39; | sed &世界杯外围投注官网39;s/ //g&世界杯外围投注官网39;
awk:用于数据列的处理
awk -F &世界杯外围投注官网39;:&世界杯外围投注官网39; &世界杯外围投注官网39;{print $1}&世界杯外围投注官网39; passwd
awk &世界杯外围投注官网39;/^root/{print $3}&世界杯外围投注官网39; passwd
-》逻辑连接符
-》并列:&&,A执行成功的情况下,B才会执行
ls /etc/passwdd && cat /etc/passwd
-》或者:||,A执行失败的情况下,B才会执行
ls /etc/passwd || cat /etc/passwd
-》没有关系:; A的结果不影响B
-》数值运算
-》中括号
$[ a+b ] $[ $a+$b]
-》圆括号
$((a+b)) $(($a+$b))
-》内置判断测试
-》字符串
= 、 != 、 \>、 \< 、 -z、 -n
[ $a = $b ]
-z : 判断是否为空,如果为空返回true,如果不为空返回false
-n:判断是否不为空,不为空返回true,如果为空返回false
-z $a
-》数值
中括号:eq nq gt lt ge le
[ $a -eq $b]
圆括号:==,!= ,>,<
-》文件判断:
-e : 判断某个文件是否存在
-f :判断是否为一个文件
-d : 判断是否为一个目录
-r :判断是否可读
-w :判断是否可写
-x : 判断是否可执行
-》表达式逻辑连接符
-a :与
-o :或
一、hive的介绍及其发展
"27.38.5.159" "-" "31/Aug/2015:00:04:37 +0800" "GET /course/view.phpid=27 HTTP/1.1" "303" "440" - "http://www.micro.com/user.phpact=mycourse" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36" "-" "learn.micro.com"

-》需求:每小时的PV数
-》数据采集
-》将日志上传到HDFS
-》数据清洗
-》功能
-》数据字段的提取
"27.38.5.159" "31/Aug/2015:00:04:37 +0800" /course/view.php
-》数据字段的补充(一般存储在RDBMS)
-》世界杯体育投注平台的信息,订单的信息
-》字段格式化
-》对字段去除双引号
-》31/Aug/2015:00:04:37 +0800 -》 2015-08-31 00::04:37 20150831 00:04:37
-》数据分析(MapReduce)
-》input
-》map
key:小时
value:URL
-》shuffle
key,{url1,url2……}
-》reduce
key,count(url)
-》output


-》如果使用SQL实现
-》创建需要分析的表
hpsk_log{
ip,
time,
url
……
}
-》将小时提取出来
time:20150831000437
select ip,substring(time,9,2) hour,url from hpsk_log;
-》进行每小时的PV
预期结果:
hour pv
00 100
01 200
select hour ,count(url) pv from
(select ip,substring(time,9,2) hour,url from hpsk_log)
group by hour;

-》hive分析的本质:
-》将数据文件映射成表,使用SQL进行分析
-》使用MapReduce分析的问题
-》模式固定
-》没有schema,缺少类似于SQL的查询语言
-》开发成本比较高
-》SQL on HADOOP:为Hadoop分析处理提供SQL语言的框架
-》hive
-》presto:facebook开源,内存式的处理,京东用的比较多
-》impala:基于内存式的SQL处理框架
-》spark SQL
-》hive的特点:数据仓库
-》建立在Hadoop之上
-》处理结构化的数据
-》存储依赖于HDSF:hive表中的数据是存储在hdfs之上
-》SQL语句的执行依赖于MapReduce
-》hive的功能:让Hadoop实现了SQL的接口,实际就是将SQL语句转化为MapReduce程序
-》hive的本质就是Hadoop的客户端


二、hive的安装部署及其架构
-》官网:http://hive.apache.org/
-》常用版本
-》0.13.1:提供更多的SQL接口,稳定性更高
-》1.2.1:提供更多的SQL接口,在处理性能方面的优化
-》安装:
-》下载解压
tar -zxvf apache-hive-0.13.1-bin.tar.gz -C /opt/modules/
-》修改配置文件
-》修改hive-env.sh
mv hive-env.sh.template hive-env.sh
HADOOP_HOME=/opt/modules/hadoop-2.5.0
export HIVE_CONF_DIR=/opt/modules/hive-0.13.1-bin/conf
-》环境变量的功能
-》用于全局访问
-》用于框架集成时的访问
-》创建数据仓库目录(设置同组可读)
bin/hdfs dfs -mkdir /tmp
bin/hdfs dfs -mkdir -p /user/hive/warehouse
bin/hdfs dfs -chmod g+w /tmp
bin/hdfs dfs -chmod g+w /user/hive/warehouse
-》启动hive客户端

-》hive的架构
-》metastore
-》功能:用于存储hive中数据库、表、与数据文件的映射
-》存储路径:数据库
-》默认存储在自带的Derby数据库中:metastore_db
-》在企业中一般会修改为MySQL或者oracle数据库
-》client
-》客户端
-》驱动
-》SQL解析器
-》语句优化器
-》物理计划
-》执行
-》Hadoop
-》HDFS:用于存储hive中表的数据
默认的hive的存储路径:/user/hive/warehouse
-》MapReduce
用于hive分析计算,将SQL进行解析并处理
-》hive支持的计算框架
-》MapReduce
-》Tez
-》spark

三、配置MySQL存储metastore
-》默认是Derby数据库存储
-》缺点:Derby存储使用文件存储,同一时间只能启动一个数据库实例
-》安全性不高
-》配置使用MySQL
-》安装MySQL
-》检查是否已安装MySQL
sudo rpm -aq |grep mysql
-》安装
sudo yum install -y mysql-server
-》启动MySQL的服务
sudo service mysqld start
-》配置开机启动
sudo chkconfig mysqld on
-》配置管理员密码
mysqladmin -u root password &世界杯外围投注官网39;123456&世界杯外围投注官网39;
-》进入MySQL
mysql -u root -p
-》配置世界杯体育投注平台访问权限
-》查看
select User,Host,Password from user;
-》进行授权
grant all privileges on *.* to &世界杯外围投注官网39;root&世界杯外围投注官网39;@&世界杯外围投注官网39;%&世界杯外围投注官网39; identified by &世界杯外围投注官网39;123456&世界杯外围投注官网39; with grant option;
-》将其他的世界杯体育投注平台权限删除
delete from user where host=&世界杯外围投注官网39;127.0.0.1&世界杯外围投注官网39;;
delete from user where host=&世界杯外围投注官网39;localhost&世界杯外围投注官网39;;
delete from user where host=&世界杯外围投注官网39;bigdata-training01.hpsk.com&世界杯外围投注官网39;;
-》刷新权限
flush privileges;
-》重启MySQL
sudo service mysqld restart
-》配置hive使用MySQL存储元数据
-》创建hive-site.xml文件
-》编辑,写入配置项

javax.jdo.option.ConnectionURL
jdbc:mysql://bigdata-training01.hpsk.com:3306/metastorecreateDatabaseIfNotExist=true
JDBC connect string for a JDBC metastore



javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
Driver class name for a JDBC metastore



javax.jdo.option.ConnectionUserName
root
username to use against metastore database



javax.jdo.option.ConnectionPassword
123456
password to use against metastore database


-》将连接驱动放入hive的lib目录下
cp /opt/tools/mysql-connector-java-5.1.27-bin.jar lib/
-》启动hive

四、基本命令和常用属性
-》基本命令
-》数据库
create database if not exists student;
show databases;
use student;
-》表
-》将日志文件映射成表
-》表的结构要与日志文件的结构一致
create table if not exists stu_tmp(
number string,
name string
) row format delimited fields terminated by &世界杯外围投注官网39;\t&世界杯外围投注官网39;;
-》加载数据
load data local inpath &世界杯外围投注官网39;/opt/modules/hive-0.13.1-bin/student.txt&世界杯外围投注官网39; into table stu_info;
-》查看表
show tables;
-》函数
-》show functions;
-》desc function substring;
-》desc function extended substring;
-》hive的原理
-》所有检索查询运行的是MapReduce
-》hive中的数据库、表在hdfs上都是一个文件目录
-》常用属性的配置
-》数据仓库目录的配置
-》默认值:/user/hive/warehouse

hive.metastore.warehouse.dir
/user/hive/warehouse
location of default database for the warehouse


-》default数据库默认的存储目录:/user/hive/warehouse
-》启用自定义的日志配置信息
-》将conf目录中的hive-log4j.properties.template重命名
mv hive-log4j.properties.template hive-log4j.properties
-》修改日志存储路径
hive.log.threshold=ALL
hive.root.logger=INFO,DRFA
hive.log.dir=/opt/modules/hive-0.13.1-bin/logs
hive.log.file=hive.log
-》显示当前当前数据库

hive.cli.print.current.db
true
Whether to include the current database in the Hive prompt.


-》显示表头信息

hive.cli.print.header
true
Whether to print the names of the columns in query output.


-》启动hive时,可以查看的帮助命令
-》bin/hive -help
usage: hive
-d,--define Variable subsitution to apply to hive
commands. e.g. -d A=B or --define A=B
--database Specify the database to use
-e SQL from command line
-f SQL from files
-H,--help Print help information
-h connecting to Hive Server on remote host
--hiveconf Use value for given property
--hivevar Variable subsitution to apply to hive
commands. e.g. --hivevar A=B
-i Initialization SQL file
-p connecting to Hive Server on port number
-S,--silent Silent mode in interactive shell
-v,--verbose Verbose mode (echo executed SQL to the
console)
-》启动时指定进入某个数据库
bin/hive --database student
-》在命令行执行SQL语句:单条SQL语句
bin/hive -e "show databases"
bin/hive -e "show databases" >> /opt/datas/hive.exec.log
-》在命令行执行一个包含SQL语句的文件:多条sql语句
bin/hive -f /opt/datas/hivetest.sql >> /opt/datas/hive.exec.log
-》运行hive时,传递变量参数(可以是自定义,也可以是配置变量)
bin/hive --hiveconf hive.cli.print.header=false
-》常用的交互式操作
-》退出
exit、quit
-》set命令
-》查看某个属性的值
set hive.cli.print.header;
hive.cli.print.header=false
-》修改某个属性的值,并且立即生效
set hive.cli.print.header=true;
-》!用于在hive shell中执行Linux命令
!ls /;
-》dfs命令用于在hive shell中执行hdfs的命令
dfs -ls /;
dfs -ls /user/hive/warehouse;

五、数据库与表的管理
-》数据库
-》创建
create table if not exists tmp3_table(
number string,
name string
) row format delimited fields terminated by &世界杯外围投注官网39;\t&世界杯外围投注官网39;;
load data local inpath &世界杯外围投注官网39;/opt/modules/hive-0.13.1-bin/student.txt&世界杯外围投注官网39; into table tmp3_table;
-》本地导入,将本地文件复制到了hdfs上表的目录下
-》hdfs导入,直接将文件移动到了表的目录下
-》第一种
create database if not exists tmp1;
-》第二种:[LOCATION hdfs_path],指定数据库在hdfs上的目录
create database if not exists tmp2 location &世界杯外围投注官网39;/hive/tmp2&世界杯外围投注官网39;;
-》删除
drop database tmp1;
删除非空数据库:
drop database tmp1 cascade;
-》删除时会删除元数据及HDFS的目录
-》查看信息
desc database EXTENDED tmp2;
-》表
-》创建
CREATE [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name
[(col_name data_type [COMMENT col_comment], ... [constraint_specification])]
[PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)]
[ROW FORMAT row_format]
[STORED AS file_format]
[LOCATION hdfs_path]
[AS select_statement];

-》第一种:普通方式
create table if not exists tmp3(
col1 type,
col2 type……
)
row format delimited fields terminated by &世界杯外围投注官网39;\t&世界杯外围投注官网39;
stored as textfile
location &世界杯外围投注官网39;hdfs_path&世界杯外围投注官网39;;

-》第二种:as:子查询方式
create table tmp3_as as select name from tmp3_table;
-》第三种:like
CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name
LIKE existing_table_or_view_name
[LOCATION hdfs_path];
create table tmp3_like like tmp3_table;
-》as与like的区别
-》as:将子查询的结果,包括数据和表结构放入的新的表中
-》like:只是复制了表结构
-》删除
drop table tmp3_like;
同时删除元数据和hdfs的存储目录
-》清空
TRUNCATE table tmp3_as;
-》描述
desc tmp3_table;
desc extended tmp3_table;
desc formatted tmp3_table;
-》创建员工表与部门表
create database emp_test;
create table emp(
empno int,
ename string,
job string,
mgr int,
hiredate string,
sal double,
comm double,
deptno int
)
row format delimited fields terminated by &世界杯外围投注官网39;\t&世界杯外围投注官网39;;
load data local inpath &世界杯外围投注官网39;/opt/datas/emp.txt&世界杯外围投注官网39; into table emp;

create table dept(
deptno int,
dname string,
loc string
)
row format delimited fields terminated by &世界杯外围投注官网39;\t&世界杯外围投注官网39;;
load data local inpath &世界杯外围投注官网39;/opt/datas/dept.txt&世界杯外围投注官网39; overwrite into table dept;

-》hive中表的类型
-》管理表:
Table Type: MANAGED_TABLE


create table emp_m(
empno int,
ename string,
job string,
mgr int,
hiredate string,
sal double,
comm double,
deptno int
)
row format delimited fields terminated by &世界杯外围投注官网39;\t&世界杯外围投注官网39;;
load data local inpath &世界杯外围投注官网39;/opt/datas/emp.txt&世界杯外围投注官网39; into table emp_m;

drop table emp_m;

-》外部表:EXTERNAL
create EXTERNAL table emp_e(
empno int,
ename string,
job string,
mgr int,
hiredate string,
sal double,
comm double,
deptno int
)
row format delimited fields terminated by &世界杯外围投注官网39;\t&世界杯外围投注官网39;;
load data local inpath &世界杯外围投注官网39;/opt/datas/emp.txt&世界杯外围投注官网39; into table emp_e;

drop table emp_e;

-》对比
-》管理表:
-》删除时会删除元数据
-》删除时会删除HDFS的数据文件
-》外部表:
-》删除时会删除元数据
-》删除时不会删除HDFS的数据文件,保证了数据的安全性

-》企业中
-》全部创建外部表,同时创建多张表,用于分析不同的业务
-》通过location指定同一份数据源

<
[] -a []
-》时间日期命令
-》查看时间:
date yyyy-MM-dd HH:mm:ss
date +"%Y-%M-%d"
获取昨天的日期:date -d &世界杯外围投注官网39;1 days ago&世界杯外围投注官网39; +"%Y-%m-%d"
date -d &世界杯外围投注官网39;-1 day&世界杯外围投注官网39; +"%Y-%m-%d"
-》设置时间
date -s "YYYY-MM-dd HH:mm:ss"

三、shell脚本的开发
-》批处理
-》自动化执行
-》开发:
-》头部
世界杯外围投注官网!/bin/bash
-》内容
-》变量
-》循环
for
while
-》判断
if
case
-》函数
-》退出
exit
-》执行:
-》执行文件:./filename.sh
-》文件必须有可执行权限
-》必须写头部
-》通过命令执行文件
sh
bash

-》for循环
for 条件
do
exec command
done

for((i=1;i do
exec command
done

-》判断
if []
then
exec
elif []
elif []
else
fi

case 变量 in
value1)
exec command1;;
value2)
exec command;;
*)
exec command;;
esac

四、Linux定时任务
—》方便定时去执行Linux任务
-》安装crontab
-》编辑定时任务:crontab -e
-》格式
* * * * * command/shell
分 时 日 月 周
00-59 00-23 1-31 1-12 0-7

-》特殊情况
每2小时:* */2 * * *
每天3,4,5点执行:00 3,4,5 * * *
每天3到5点执行:* 3-5 * * *
-》删除定时任务
crontab -e 删除对应的任务即可
crontab -r :删除所有定时任务


相关文章
最新文章
热点推荐