Hive是基于Hadoop构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop分布式文件系统中的数据:可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能;可以将SQL语句转换为MapReduce任务运行,通过自己的SQL查询分析需要的内容,这套SQL简称Hive SQL,使不熟悉mapreduce的用户可以很方便地利用SQL语言查询、汇总和分析数据。
而mapreduce开发人员可以把自己写的mapper和reducer作为插件来支持Hive做更复杂的数据分析。它与关系型数据库的SQL略有不同,但支持了绝大多数的语句如DDL、DML以及常见的聚合函数、连接查询、条件查询。它还提供了一系列的工具进行数据提取转化加载,用来存储、查询和分析存储在Hadoop中的大规模数据集,并支持UDF(User-Defined Function)、UDAF(User-Defined AggregateFunction)和UDTF(User-Defined Table-Generating Function),也可以实现对map和reduce函数的定制,为数据操作提供了良好的伸缩性和可扩展性。
Hive不适合用于联机(online)事务处理,也不提供实时查询功能。它最适合应用在基于大量不可变数据的批处理作业。
1.Elasticsearch介绍
2.基于Docker安装Elasticsearch
2.1 创建网络
2.2 拉取镜像
2.3 创建挂载点目录
2.4 部署单点es,创建es容器
2.5 编写elasticsearch.yml
2.6 重启es容器
2.7 测试Elasticsearch是否安装成功
3.基于Docker安装Kibana
3.1 拉取镜像
3.2 创建挂载点目录
3.3 部署kibana,创建kibana容器
3.4 测试Kibana是否安装成功
4. 基于Docker安装IK分词器
4.1 进入Elasticsearch容器
4.2 在线安装IK分词器
前提Java已经安装 安装准备 下载链接:链接 解压 将hadoop 到自己想要解压的路径下(这我解压到D盘下) 修改配置文件 进入etc/hadoop/下修改 core-site.xml,hdfs-site.xml,mapred-site.xml,yarn-site.xml core-site.xml
1 2 3 4 5 6 7 8 9 10 |
<configuration> <property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/D:/hadoop-3.3.2/data/tmp</value> </property> </configuration> |
hdfs-site.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<configuration> <!--单机启动--> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/D:/hadoop-3.3.2/data/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/D:/hadoop-3.3.2/data/datanode</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property> </configuration> |
mapred-site.xml
1 2 3 4 5 6 |
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> |
yarn-site.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> <!-- nodemanager要求的内存最低为1024 nodemanager 要求的内存最低为1G,所以value至少是1024,否则无法启动nodemanager --> <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>1024</value> </property> <property> <name>yarn.nodemanager.resource.cpu-vcores</name> <value>1</value> </property> </configuration> |
修改 workers 为 localhost 修改hadoop-env.cmd set JAVA_HOME=D:\java\jdk\jdk11 替换lib目录下的文件 如果您双击 winutils.exe 文件闪退,不报错,就说明没有任何问题 配置hadoop环境变量 格式化hadoop 打开命令行窗口 输入:hadoop namenode -format 看到成功的单词即可 进入hadoop的sbin目录执行start-all.cmd 没有报错后进入hadoop下的bin目录执行 看到这三个进程即可 注意: 启动可能会报时间错误,需要复制share文件夹下的时间jar到下图bin目录下即可 访问web页面 hadoop3.2以上的版本 web访问端口从原来的 50070 改为了 9870 http://localhost:9870/ http://localhost:8088/ 至此hadoop3.2.2版本 已完成 from:https://blog.csdn.net/qq_45834006/article/details/123581374 参考:https://blog.csdn.net/m0_72839702/article/details/138090947
View Details我们知道在多线程写入同一个文件的时候,会存现“线程安全”的问题(多个线程同时运行同一段代码,如果每次运行结果和单线程运行的结果是一样的,结果和预期相同,就是线程安全的)。如果是MySQL数据库,可以使用它自带的锁机制很好的解决问题,但是,在大规模并发的场景中,是不推荐使用MySQL的。秒杀和抢购的场景中,还有另外一个问题,就是“超发”,如果在这方面控制不慎,会产生发送过多的情况。我们也曾经听说过,某些电商搞抢购活动,买家成功拍下后,商家却不承认订单有效,拒绝发货。这里的问题,也许并不一定是商家奸诈,而是系统技术层面存在超发风险导致的。
View Details