9.25学习笔记

环境速览(

节点 新装组件 端口 备注
node1 Hive3.1.3 + MySQL 8.0 + Spark3.5.0 3306/10000/8080 HiveServer2 WebUI
node2 Spark HistoryServer 18080 日志持久化到 HDFS
node3 Kafka 3.7.0 + ZooKeeper(复用) 9092 单 broker,topic=user_event

Metastore 三模式:内嵌、本地、远程;生产必用远程(MySQL/Postgres)。
ORC + Snappy 压缩比 ≈ 1:5,查询快 8× 于 Text。
动态分区:需开 set hive.exec.dynamic.partition=true,防止生成过多小文件用 distributed by + sort by。
Spark on YARN
部署模式:client(driver 在本地) vs cluster(driver 在 YARN AM)。
资源参数:
--num-executors 4 --executor-cores 2 --executor-memory 3g
Spark History 需提前 spark.eventLog.enabled=true 并指向 hdfs:///spark-logs。
Kafka → HBase 实时
Kafka Connect API 可插件式,但学习阶段用 Python kafka-python 裸写最快。
HBase 缓冲写:
htable.setAutoFlush(false, true) + put.setWriteToWAL(false)(允许少量数据丢失换吞吐)。
小文件规避:Kafka 分区数 = RegionServer 数 × 2,保证写分散。
实操流水
MySQL & Hive Metastore
bash

node1

yum install -y mysql-server
systemctl enable --now mysqld
mysql -e "CREATE DATABASE hivemetastore;"
mysql -e "CREATE USER 'hive'@'%' IDENTIFIED BY 'Hive#123';"
mysql -e "GRANT ALL ON hivemetastore.* TO 'hive'@'%';"

初始化 schema

schematool -dbType mysql -initSchema
Hive 基本命令
sql

CREATE TABLE ds_customer
STORED AS ORC
AS SELECT * FROM customer;
-- 1 GB 数据 182 s,ORC 后 208 MB
TPC-DS 查询 01
sql

-- 单表扫描 28 M 行
SELECT count(*) FROM ds_customer WHERE c_birth_year = 1988;
-- Hive 42 s,SparkSQL 9 s(见下)
Spark 部署
bash

解压到 /opt/spark,同步到 3 节点

spark-defaults.conf
spark.eventLog.enabled true
spark.eventLog.dir hdfs://node1:9000/spark-logs
spark.history.fs.logDirectory hdfs://node1:9000/spark-logs
start-history-server.sh
SparkPi(cluster 模式)
bash

spark-submit
--master yarn --deploy-mode cluster
--class org.apache.spark.examples.SparkPi
$SPARK_HOME/examples/jars/spark-examples_2.12-3.5.0.jar 1000

估算 Pi ≈ 3.141592,耗时 27 s(MapReduce Pi 18 s/1000 map)

因启动开销大,大作业才能体现优势

WordCount 1 GB 文本
表格

框架 耗时 吞吐
MapReduce 4 min 12 s 4.0 MB/s
Spark 1 min 05 s 15.7 MB/s
提速 ↓ 74 % ↑ 3.9×
Kafka 安装

node3

tar -zxvf kafka_2.13-3.7.0.tgz -C /opt
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties # 已存在,仅起 broker
bin/kafka-server-start.sh -daemon config/server.properties

创建 topic

bin/kafka-topics.sh --create --topic user_event --partitions 6 --replication-factor 2
Python 实时写 HBase
Python

from kafka import KafkaConsumer
import happybase

consumer = KafkaConsumer('user_event', bootstrap_servers='node3:9092')
conn = happybase.Connection('node1')
table = conn.table('user_event')

for msg in consumer:
key = msg.key.decode()
val = msg.value.decode()
table.put(key, {'cf:raw': val})
测试:
kcat -P -b node3:9092 -t user_event -K: <<< "u100:login"
HBase shell 能立刻 get 'user_event','u100'

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/917703.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新学期每日总结(第4天)

相较昨日复习了Java知识

wordpress 邮箱 通知成都网站优化哪家好

多维时序 | MATLAB实现BiTCN-selfAttention自注意力机制结合双向时间卷积神经网络多变量时间序列预测 目录 多维时序 | MATLAB实现BiTCN-selfAttention自注意力机制结合双向时间卷积神经网络多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 1.M…

外贸长尾关键词挖掘网站关键词排名点击软件网站

目录 前言 1、文件目录 2、安装依赖 3、POM项目实战-案例&#xff1a;打开指定页面 目录结构&#xff1a; pages中的代码&#xff1a; cases中的代码&#xff1a; 4、解决登录问题 问题&#xff1a; 解决方案&#xff1a; 获取登录的用户信息&#xff08;cookie&a…

网站怎么做边框网页版微信会留下记录吗

【判断题】在竞争激烈的市场环境中,职业生的就业优势是证书【简答题】请把今天的语文作业拍照、语音上传,谢谢!【简答题】请把今天的语文作业拍照上传,今日古诗语音上传,谢谢!【简答题】请把今天的作业拍照、语音上传,谢谢!【判断题】职业纵向发展只体现在技术和职务提升。【判…

VSCode 升级 C++支持版本

下载最新版本mingw:https://github.com/niXman/mingw-builds-binaries/releases 解压,覆盖原mingw路径 修改vscode c++插件配置 执行gcc -v -E -x c++ - 添加 starts here后的路径到系统include path中 指定C/C++版本…

太原模板建站定制网站爱站网工具包

软件架构是任何软件项目成功的关键。良好的架构不仅能够支撑软件的功能实现&#xff0c;还能确保其性能、可维护性、可扩展性和安全性。在软件工程领域&#xff0c;经过多年的研究和实践&#xff0c;已经总结出了许多宝贵的原则和模式&#xff0c;用以指导软件架构的设计。以下…

怎样将自己做的网站给别人看制作网架厂家

一、ubuntu下安装docker 1、命令行终端内直接输入docker 可以看到安装docker的命令提示 2、安装需要注意的几个点 (1)需要管理员权限 (2)更新软件源后再进行安装 命令行输入命令 sudo apt-get update #更新软件源 sudo apt install docker.io #安装docker 如图所示 二…

25.9.25

学习了MyBatis的基础知识,配置环境,明天跟敲代码,加速

网站如何做那种诱导广告珠海企业网站建设价格

题主的意思&#xff0c;搭建的自动化测试框架要包括API测试&#xff0c;UI测试&#xff0c;APP测试三类。以上三类其实可以简化为两类&#xff0c;那就是&#xff1a; 1&#xff09;接口自动化测试框架搭建 2&#xff09;UI自动化测试框架搭建。 没问题&#xff0c;安排&#x…

在electron-vite使用ShadCN

集成tailwind 这一步较为简单,仅需按照官网步骤即可~ 这里不再赘述! 稍微需要注意的是,你的集成配置都需要在 electron.vite.config.ts! 补全tsconfig.json{// ..."compilerOptions": {"composite&q…

苏州企业门户网站工信部域名备案管理系统

文章目录 概要整体架构流程 概要 把公共的部分单独拆出来&#xff0c;封装到一个新的vue文件夹中&#xff0c; 里面的数据通过父传子的方式传递&#xff0c;子通过props接受&#xff08;静态代码实现的树状图细看代码展示&#xff09; 整体架构流程 <template><!-- …

沈阳学网站制作学校营销型集团网站

学习MySQL数据库&#xff0c;MySQL自增字段是最基础的部分之一&#xff0c;下面为您介绍一些MySQL自增字段的常用语句&#xff0c;希望对您学习MySQL自增字段能些许帮助。1、创建表格时添加&#xff1a; create table table1(id int auto_increment primary key,...)2、创建表格…

每日博客(补)

今天做什么:今天上午上离散数学和马原课,下午睡觉后去洗澡洗衣服 遇到的问题:暂无

如何使用极限网关实现 Elasticsearch 集群迁移至 Easysearch

之前有博客介绍过通过 Reindex 的方法将 Elasticsearch 的数据迁移到 Easysearch 集群,今天再介绍一个方法,通过 极限网关(INFINI Gateway) 来进行数据迁移。 测试环境软件 版本Easysearch 1.12.0Elasticsearch 7.…

北京平面设计网站企业管理软件销售工程师

随着时间的积累&#xff0c;电脑内部可能会堆积起大量的垃圾文件、缓存数据和无用程序。因此&#xff0c;定期清理电脑是很有必要的。为了让你的电脑重新焕发生机&#xff0c;提高工作效率&#xff0c;本文将为你介绍4招实用的清洁法&#xff0c;助你轻松清理电脑死角&#xff…

文档抽取技术:实现金融保险业务流程自动化

金融保险行业是高度依赖文档和信息流转的典型领域。从投保申请书、理赔单据到复杂的保险合同、财务报告,海量非结构化的文档数据构成了行业运营的基础,但也带来了处理效率低下、信息提取困难、人为错误风险高等挑战。…

算法作业

C++核心规范:变量小写下划线,类名首字母大写,四空格缩进,一行别超八十字符,内存配对释放优先用智能指针,关键代码写清“为什么”,裸指针少用,关键代码增加注释。《数学之美》读后感: 原来公式背后藏着优雅逻辑…

网站项目设计书机关单位网站建设的重要性

JAVA种有两种保证线程安全的方式&#xff0c;分别叫懒汉式Lazy Initialization和饿汉式Eager Initialization&#xff0c;以下是他们的区别&#xff1a; 线程安全性&#xff1a; 懒汉式本身是非线程安全的&#xff0c;因为多个线程可能同时检查实例是否为null&#xff0c;并尝…

C#学习3

面向对象编程进阶 继承 csharp // 基类 public class Animal { public string Name public virtual void Speak() { Console.WriteLine("动物发出声音"); } }// 派生类 public class Dog : Animal { public …

9-23

(1)今天预习了java的课程 (2)明天继续深造