在这里插## 标题入图片描述

> 						大家好,我是程序员小羊!

✨博客主页: https://blog.csdn.net/m0_63815035?type=blog

💗《博客内容》:大数据、Java、测试开发、Python、Android、Go、Node、Android前端小程序等相关领域知识
📢博客专栏: https://blog.csdn.net/m0_63815035/category_11954877.html
📢欢迎点赞 👍 收藏 ⭐留言 📝
📢本文为学习笔记资料,如有侵权,请联系我删除,疏漏之处还请指正🙉
📢大厦之成,非一木之材也;大海之阔,非一流之归也✨

在这里插入图片描述

前言&课程重点

大家好,我是程序员小羊!接下来一周,咱们将用 “实战拆解 + 技术落地” 的方式,带大家吃透一个完整的大数据电商项目 ——不管你是想靠项目经验敲开大厂就业门,还是要做毕业设计、提升技术深度,这门课都能帮你 “从懂概念到能落地”。

毕竟大数据领域不缺 “会背理论” 的人,缺的是 “能把项目跑通、能跟业务结合” 的实战型选手。咱们这一周的内容,不搞虚的,全程围绕 “电商业务痛点→数据解决方案→技术栈落地” 展开,每天聚焦 1 个核心模块,最后还能输出可放进简历的项目成果。

进入正题:

本项目是一门实战导向的大数据课程,专为具备Java基础但对大数据生态系统不熟悉的同学量身打造。你将从零开始,逐步掌握大数据的基本概念、架构原理以及在电商流量分析中的实际应用,迅速融入当下热门的离线数据处理技术。

在这门课程中,你将学会如何搭建和优化Hadoop高可用环境,了解HDFS存储、YARN资源调度的核心原理,为数据处理打下坚实的基础。同时,你将掌握Hive数据仓库的构建和数仓建模方法,了解如何将海量原始数据经过层次化处理,转化为高质量的数据资产。

课程还将引领你深入Spark SQL的世界,通过实际案例学习如何利用Spark高效计算PV、UV以及各类衍生指标,提升数据分析效率。此外,你还将学习Flume的安装与配置,实现Web日志的实时采集和ETL入仓,确保数据传输的稳定与高效。

为了贴近企业实际运作,本项目还包括定时任务的设置和自动化数据管道构建,教你如何编写Shell脚本并利用crontab定时调度Spark作业,让数据处理过程实现自动化与智能化。最后,通过可视化展示模块,你将学会用FineBI等工具将数据分析结果直观呈现

总之,这是一门集大数据基础、系统搭建、数据处理与智能分析于一体的全链路实战课程。无论你是初入大数据领域的新手,还是希望提升数据处理能力的开发者,都将在这里收获满满,掌握最前沿的大数据技术。

课程计划:

天数主题主要内容
Day 1大数据基础+项目分组 (ZK补充)大数据概念、数仓建模、组件介绍、分组;简单介绍项目。
Day 2Hadoop初认识+ HA环境搭建初认识Hadoop,了解HDFS 基本操作,YARN 资源调度,数据存储测试等,并且完成Hadoop高可用的环境搭建。
Day 3Hive 数据仓库Hive SQL 基础、表设计、加载数据,搭建Hive环境并融入Hadoop实现高可用
Day 4Spark SQL 基础讲解Spark基础,DataFrame & SQL 查询,Hive 集成和环境的搭建
Day 5Flume 数据采集及ETL入仓安装Flume高可用,学习基础的Flume知识并且使用Flume 采集 Web 日志,存入 HDFS;数据格式解析,数据传输优化
Day 6数据入仓 & 指标计算解析 PV、UV 计算逻辑,Hive 数据清洗、分层存储(ODS → DWD)
Day 7Spark 计算 & 指标优化使用 Spark SQL 计算 PV、UV 及衍生指标(如跳出率、人均访问时长等)
Day 8定时任务 & 数据管道编写 Shell 脚本,使用 crontab 实现定时任务,调度 Spark SQL
Day 9可视化 & 数据分析搭建一个简单的项目使用 FineBI 进行数据展示,分析趋势。
Day 10项目答辩小组演示分析结果,可以后台联系程序员小羊点评

今日学习重点:

本章节旨在指导同学们搭建大数据学习的开发环境。我们将详细介绍如何在虚拟机中配置Linux系统,并安装大数据生态系统中的核心软件,如JDK、Hadoop、Spark、Hive和Zookeeper等。通过本章的实践操作,同学们不仅能熟悉各组件的安装步骤和依赖关系,还能掌握虚拟机配置的基本技巧,为后续的大数据项目打下坚实基础。无论你是大数据初学者还是有一定开发经验的学员,本章都将提供一份详细、易操作的安装指导,帮助你快速适应和掌握大数据开发平台的要求,顺利迈入大数据世界。

大数据学习必备前置软件

本章节旨在指导同学们搭建大数据学习的开发环境。我们将详细介绍如何在虚拟机中配置Linux系统,并安装大数据生态系统中的核心软件,如JDK、Hadoop、Spark、Hive和Zookeeper等。通过本章的实践操作,同学们不仅能熟悉各组件的安装步骤和依赖关系,还能掌握虚拟机配置的基本技巧,为后续的大数据项目打下坚实基础。无论你是大数据初学者还是有一定开发经验的学员,本章都将提供一份详细、易操作的安装指导,帮助你快速适应和掌握大数据开发平台的要求,顺利迈入大数据世界。

大数据学习必备前置软件[具体步骤可以参考下面连接]

详细安装教程以下步骤可以省略…直接看这个链接

在Windows环境中学习大数据,建议准备的软件主要包括以下几个方面:

  • DataGrip 文件名:datagrip-2014.1.3.exe https://cloud.189.cn/web/share?code=NzuA3aiiYNFf(访问码:fad9)

    • 安装和激活

      安装DataGrip 连接数据库,无论是业务数据库还是大数据数据库的都可以无缝连接。安装过程没有什么难度,就是点开exe程序然后点击下一步,选一个合适的安装位置然后直到进度条走完即可。

  • Java开发工具包(JDK) 文件名:OpenJDK8U-jdk_x64_windows_hotspot_8u442b06.zip
    https://cloud.189.cn/web/share?code=NzuA3aiiYNFf(访问码:fad9)

    • 安装Java JDK

      因为当前大数据顶级项目都是基于JAVA开发的,并且由于兼容性,通常对外的兼容都是动一发而牵动全身,所以在大数据的学习中,所有的软件环境和代码都是要依赖Java8的,本地电脑上必须有,其他版本只要不是JAVA8一律不能用。

      你只需要解压软件并且配置环境变量即可。在电脑合适的位置下解压并且保证上级没有二层嵌套目录,路径下没有中文和中文字符!
      文件管理器复制文件的根目录位置,复制准备配置环境变量(win+E 打开文件管理器,右边找到此电脑邮件选择属性,高级系统属性,环境变量)
      在系统变脸中添加创建 JAVA_HOME 值为 java解压路径 ,在 path 中添加设置环境变量为 %JAVA_HOME%\bin 完成后保存关闭之前打开的所有窗口返回桌面。
      win+R 输入cmd 回车,在终端窗口输入java -version 返回版本号而不是 未知的命令 安装完成。

  • 安装IDEA (社区版) 推荐版本:2023.1.7 文件名:ideaIC-2023.1.7.exe https://cloud.189.cn/web/share?code=NzuA3aiiYNFf(访问码:fad9)

    • 安装IDEA

      下载完成后一直点下一步,更改存储位置即可,不懂可以按照默认选项安装直到完成。如果不会参考这个文章 https://blog.csdn.net/2501_90193588/article/details/145068748

  • 安装 Xterminal 文件名:XTerminal-2.11.2-win-x64-installer.exe https://cloud.189.cn/web/share?code=NzuA3aiiYNFf(访问码:fad9)

    • 安装Xterminal

      这是为了能够通过SSH远程连接虚拟机准备的软件,同时还可以完成文件编写,文件下载管理和多窗口管理。

      直接安装,下载完成后一直点下一步,更改存储位置即可,不懂可以按照默认选项安装直到完成。添加虚拟机之前需要创建一个仓库密码

      设置完仓库密码后按照下面的方式就可以创建并远程连接一个虚拟机了。

  • 安装 Vmware 虚拟机软件 文件名:VMware-workstation-full-16.1.0-17198959.exe
    https://cloud.189.cn/web/share?code=NzuA3aiiYNFf(访问码:fad9)

    • 安装Vmware

      你的虚拟机都要基于Vmware虚拟化安装,这是基础软件。基本没有技巧就改一下位置然后一直点下一步即可。

      安装教程:https://www.cnblogs.com/Dengv5/p/16386192.html

  • 推荐安装 内存自动清理软件 文件名:WMOSetup_4.2.2.128.exe https://cloud.189.cn/web/share?code=NzuA3aiiYNFf(访问码:fad9)

安装虚拟机

首先,你需要安装Vmware,并且为了避免麻烦,你可以如下一样将自己的Nat8网卡的IP和地址位全部更改成和我一样的,这样可以减少很多不必要的麻烦。

在这里插入图片描述

较老的Vmware版本修改网络:

安装虚拟机

在安装和配置虚拟机的时候,需要跟大家预先沟通IP和文件的安装位置。
IP:node01( 192.168.100.101 ) 、node02( 192.168.100.102 )、node03( 192.168.100.103 )
Linux用户:root 密码:123456
软件安装包的位置:/opt/yjx HDFS组名:hdfs://hdfs-yjx/
软件安装的位置:/opt/yjx
软件安装的所属用户:root

首先先安装Node01,按照视频操作或者按照下面的图片进行操作。

【一分钟扫盲课——安装Linux虚拟机】 https://www.bilibili.com/video/BV1Ah4y1Q7Ng/?share_source=copy_web&vd_source=de6b2b4f89ff741a48a72f53616cdf1e

centos7 镜像下载:文件名:CentOS-7-x86_64-Minimal-2009.iso 地址:https://cloud.189.cn/web/share?code=NzuA3aiiYNFf(访问码:fad9)

配置虚拟机网络

安装完成后我们需要配置下面的东西:

  1. 网络配置:vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
DEVICE=ens33#必须为yes
ONBOOT=yes# 配置IP 子网掩码 网关 和 DNS
IPADDR=192.168.100.101
NETMASK=255.255.255.0
GATEWAY=192.168.100.2
DNS1=192.168.100.2
DNS2=114.114.114.114
DNS3=8.8.8.8
  1. Esc 退出 输入 :wq 回车,在命令行输入 systemctl restart network 重启网络。

  2. 输入 ping www.baidu.com 测试网络连通性

关闭防火墙和SELINUX

为了后面的学习方便关闭防火墙可以避免网络端口配置和管理问题。

systemctl stop firewalld 停止防火墙 、systemctl disable firewalld 永久警用防火墙
相对的,如果你有需要可以把 stop 换成 start 就是启动;把disable换成resatrt就可以启用防火墙,status 查看防火墙状态。

systemctl status firewalld 如果你的显示是如下,那就是错误的,你的防火墙没有关闭。

关闭 SELINUX 。使用以下命令打开 SELinux 的配置文件:vi /etc/selinux/config修改 SELinux=disabled ,然后 :wq 保存并退出。

更换yum下载源:

请先确保自己安装了 wget ,如未安装请先运行 yum -y install wget 命令进行安装。

优秀的程序员修改东西一定要养成备份的习惯,备份以后就可以大胆的进行尝试了。首先备份系统自带 yum 源配置
文件 /etc/yum.repos.d/CentOS-Base.repo

然后根据对应的 CentOS 版本,运行以下命令下载阿里 yum 源或者网易 yum 源至 yum 源配置文件存放目录。

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup# 阿里 yum 源
# CentOS 7
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo# 网易 yum 源
# CentOS 7
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo

bash <(curl -sSL [https://linuxmirrors.cn/main.sh)](https://linuxmirrors.cn/main.sh)) 参考操作:1 y y y y

配置网络映射和免密登录:

  1. 设置hosts文件[主机映射], vim /etc/hosts最后面添加例如下面的东西 [ IP地址 主机名列表 ]
192.168.100.101 node01 h1 master
192.168.100.102 node02 h2 slave1
192.168.100.103 node03 h3 slave2
  1. 设置免密登录:ssh-keygen -t rsa 生成密钥,一直点回车知道结束,ssh-copy-id localhost, 输入密码就可以了[秘钥的保存位置 cd ~/.ssh/]

  2. vi /etc/ssh/ssh_config 在host 严格级别设置为 no

Windows配置hosts 文件地址 : C:\Windows\System32\drivers\etc\hosts

关闭虚拟机,立刻拍摄一个快照,这个快照就是配置完Linux基础配置的模板机。

安装Java -JDK8(Linux)

不同的软件有不同的版本,针对于不同的操作者系统,编程软件也有不同的型号分别,因为我们的大数据组件都是支持JDK8 的jvm 所以这边建议安装这个版本的JDk在Linux上。

文件名:jdk-8u351-linux-x64.rpm https://cloud.189.cn/web/share?code=NzuA3aiiYNFf(访问码:fad9)

在虚拟机上创建一个名为opt/yjx的目录,将jdk-8u351-linux-x64.rpm上传到此位置然后安装即可。使用rpm安装会自动配置java的环境变量,不需要我们配置。

[root@node01 ~]# mkdir -p /opt/yjx
[root@node01 ~]# cd /opt/yjx/
[root@node01 ~]# [上传文件]
[root@node01 ~]# rpm -ivh jdk-8u351-linux-x64.rpm# 查看安装是否成功
[root@node01 ~]# rpm -qa | grep jdk
# 查看环境变量
[root@node01 ~]# java -version

安装Zookeeper

  1. 克隆node01,成为node02,node03,你需要额外配置网络不唯一,系统名字也不唯一,参考下表
节点名IP地址
node01192.168.100.101
node02192.168.100.102
node03192.168.100.103
  1. 克隆完成后发现两台机器名字也叫node01 这肯定是不对的,vi /etc/hostname :修改完成后需要重启生效。

  2. 修改网络 只需要将IP改为102,103(node02,node03)即可。

  3. 免密登录:在node01、node02、node03 分别执行 ssh-keygen -t rsa 生成密钥 后输入 ssh-copy-id node01 ssh-copy-id node02 ssh-copy-id node03 (每一台都要重复此操作)

  4. 上传Zookeeper安装包 文件名:apache-zookeeper-3.6.3-bin.tar.gz https://cloud.189.cn/web/share?code=NzuA3aiiYNFf(访问码:fad9)

  5. 时间同步
    yum install vim screen ntp -y 准备常用工具包;(时间同步见Day1-1)ntpdate -su api.bz

  6. 上传并解压并且删除安装包

[root@node01 ~]# tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz -C /opt/yjx/
[root@node01 ~]# rm apache-zookeeper-3.6.3-bin.tar.gz -rf
  1. 创建目录并且编辑 zoo.cfg
[root@node01 ~]# mkdir -p /var/yjx/zookeeper/data
[root@node01 ~]# mkdir -p /opt/yjx/apache-zookeeper-3.6.3-bin/logs[root@node01 ~]# cd /opt/yjx/apache-zookeeper-3.6.3-bin/
[root@node01 apache-zookeeper-3.6.3-bin]# cp conf/zoo_sample.cfg conf/zoo.cfg
[root@node01 apache-zookeeper-3.6.3-bin]# vim conf/zoo.cfg# 修改以下内容 (旁边的数字是行号)
12 dataDir=/var/yjx/zookeeper/data
13 dataLogDir=/opt/yjx/apache-zookeeper-3.6.3-bin/logs
15 clientPort=2181
37 server.1=node01:2888:3888
38 server.2=node02:2888:3888
39 server.3=node03:2888:3888
  1. 接下来将 node01 的 ZooKeeper 所有文件拷贝至 node02 和 node03。推荐从 node02 和 node03 拷贝。
[root@node01 ~]# scp -r /opt/yjx/apache-zookeeper-3.6.3-bin/ node02:$PWD
[root@node01 ~]# scp -r /opt/yjx/apache-zookeeper-3.6.3-bin/ node03:$PWD
  1. 在三台节点 /var/yjx/zookeeper/data 目录下分别创建 myid 文件,内容分别为 1,2,3。
node01
[root@node01 ~]# echo 1 > /var/yjx/zookeeper/data/myidnode02
[root@node02 ~]# mkdir -p /var/yjx/zookeeper/data
[root@node02 ~]# echo 2 > /var/yjx/zookeeper/data/myidnode03
[root@node03 ~]# mkdir -p /var/yjx/zookeeper/data
[root@node03 ~]# echo 3 > /var/yjx/zookeeper/data/myid#!注意 确定每一个myid只有一行并且没有多余空格
  1. 最后 vim /etc/profile 配置环境变量,环境搭建结束。配完环境变量后 source /etc/profile 重新加载环境变量。
[root@node01 ~]# vim /etc/profileexport ZOOKEEPER_HOME=/opt/yjx/apache-zookeeper-3.6.3-bin
export PATH=$ZOOKEEPER_HOME/bin:$PATH[root@node01 ~]# source /etc/profile
  1. 启动 三个节点都运行 zkServer.sh start ,但是这样太麻烦了,写一个脚本直接批量在三个机器都运行最好,看脚本。
[root@node01 ~]# zkServer.sh start
[root@node02 ~]# zkServer.sh start
[root@node03 ~]# zkServer.sh start
# 在 /usr/local/bin 目录下创建对应服务的脚本:
[root@node01 ~]# cd ~
[root@node01 ~]# vim zookeeper..............................................................
#!/bin/bashuser=$(whoami)
case $1 in"start")for i in node01 node02 node03doecho -e "\e[1;34m==================== $i ZooKeeper 启动 ====================\e[0m"sleep 3ssh $user@$i "/opt/yjx/apache-zookeeper-3.6.3-bin/bin/zkServer.sh start"done;;"stop")for i in node01 node02 node03doecho -e "\e[1;34m==================== $i ZooKeeper 停止 ====================\e[0m"ssh $user@$i "/opt/yjx/apache-zookeeper-3.6.3-bin/bin/zkServer.sh stop"done;;"status")for i in node01 node01 node03doecho -e "\e[1;34m==================== $i ZooKeeper 状态 ====================\e[0m"ssh $user@$i "/opt/yjx/apache-zookeeper-3.6.3-bin/bin/zkServer.sh status"done;;"restart")for i in node01 node02 node03doecho -e "\e[1;34m==================== $i ZooKeeper 重启 ====================\e[0m"ssh $user@$i "/opt/yjx/apache-zookeeper-3.6.3-bin/bin/zkServer.sh restart"done;;
esac
..............................................................[root@node01 ~]# chmod 750 zookeeper

(此操作三个虚拟机都要运行)关闭zookpeer:zkServer.sh stop
查看状态zookpeer:zkServer.sh status

脚本在node01 运行即可:./zookeeper start|stop|status

CAP原则

CAP定理是分布式计算领域中一个重要的理论,它阐述了在分布式系统中一致性C、可用性A 和分区容忍性P三个特性之间的关系。

CAP原则的内容:一致性 所有节点在同一时间看到的数据应该是一致的。这意味着在任何时候,任何客户端都应该能够读取到最新的数据值。可用性 系统需要保证每个请求都能收到响应,不发生故障。分区容忍性 即当系统的一部分组件或节点失效时,整个系统仍然能够继续运行

通常情况下通常需要在以下三个属性之间进行权衡,不能三者兼得只能平衡其二,P保证必须有分区容忍性的时候只能选择A保证用户可用性优先,C保证数据安全优先。选择CP还是AP取决于系统对于数据一致性和服务可用性的需求。

什么是?Zookpeer?

ZooKeeper 是一个开源的分布式协调服务,主要用于解决分布式系统中的一致性、配置管理、命名、同步以及 leader 选举等问题。

1. ZooKeeper 的作用

  • 分布式协调:在分布式环境中,各个节点之间需要协调工作,ZooKeeper 提供了一致性的存储(类似一个小型的分布式文件系统),各节点可以在上面存取状态信息。

  • 配置管理:通过 ZooKeeper,可以集中管理分布式系统的配置信息,当配置更新时,所有的客户端可以实时感知变化。

  • 命名服务:它可以作为一个分布式的注册中心,帮助分布式系统中各个节点注册和发现服务。

  • 分布式锁与同步:利用 ZooKeeper 的节点顺序和 Watcher 机制,可以实现分布式锁和其他同步机制。

  • Leader 选举:ZooKeeper 经常用于选举分布式系统中的主节点(Master),保证在集群中只有一个“主”在执行关键任务。

2. ZooKeeper 如何选其他举主节点

在 ZooKeeper 的领导选举中,每个候选节点都会在一个预定的目录下创建一个临时顺序节点(ephemeral sequential node)。ZooKeeper 为这些节点自动分配一个递增的序号。

所有节点创建的顺序节点会按序号排序,序号最小的节点被认为是 Leader。这种机制类似于一个公平锁,每个节点都有一个先后顺序,最前面的节点获得锁,也就是成为 Leader,创建一个临时的节点文件。也就有点像是排队先来先赢的意思。

当 Leader 节点掉线或失去连接时,它创建的临时节点会被自动删除,其他候选节点会检测到这一变化,并重新根据最小序号来选举出新的 Leader。可以说,ZooKeeper 选主机制本质上利用了临时顺序节点来模拟一个公平锁的效果,依靠节点创建顺序和临时节点失效来实现 Leader 的自动切换。

3. Zookpeer怎么自己选主?

首先Zookpeer自身有比较复杂的事务id的属性,每个节点当参与了一次活动自身id为+1,当所有人都参加了活动公共id+1,主节点默认直接+1。现在比如说我有一个主节点,在分布式架构中,通常主节点才负责对数据的修改和删除等操作,其他节点都是听主节点广播再决定要不要更改自身状态的小弟。

现在老大死啦,那么事务到100,主节点记录是到102,那么A节点101那么大概率是A节点,因为他的事务最大,那么也不完全对,那么如果b说我也是102,那么票优先给最小的,自己先给自己来一票达到二分一自动为主节点。

4. ZK是是什么架构?他怎么保证的数据一致性?

首先ZK肯定是一个天生分布式的架构,他是强CP的架构,保证数据一致性,但是这样会降低自己的效率,怎么解决?

在ZK中有三个角色,领导者Leader,跟随者Follower,学习者 Observe ,领导者负责查询和对数据的修改,添加这样的事务操作。其他节点只负责查询,当他收到类似修改的事务操作会转发给Leader完成,完成后会把数据改动按照通知的方式一个一个告诉Follower。

当Follower一半以上都修改好数据那么变成广播,其他节点立刻通知修改,这个速度很快,修改完给自己的节点事务+1。

但是如果集群规模很大剩下的都是Follower我要是想要达到一半那也太慢了,有没有什么办法?再加一个Observe 变成Follower的小弟,如果Follower改了会自动帮忙带话给Observe 修改了,广播形式。

结尾:

本课程是一门以电商流量数据分析为核心的大数据实战课程,旨在帮助你全面掌握大数据技术栈的核心组件及其在实际项目中的应用。从零开始,你将深入了解并实践Hadoop、Hive、Spark和Flume等主流技术,为企业级电商流量项目构建一个高可用、稳定高效的数据处理系统。

在课程中,你将学习如何搭建并优化Hadoop高可用环境,熟悉HDFS分布式存储和YARN资源调度机制,为大规模数据存储与计算奠定坚实基础。随后,通过Hive数据仓库的构建与数仓建模,你将掌握如何将原始日志数据进行分层处理,实现数据清洗与结构化存储,从而为后续数据分析做好准备。

借助Spark SQL的强大功能,你将通过实战案例学会快速计算和分析关键指标,如页面浏览量(PV)、独立访客数(UV),以及通过数据比较获得的环比、等比等衍生指标。这些指标将帮助企业准确洞察用户行为和流量趋势,为优化营销策略提供科学依据。

同时,本课程还包含Flume数据采集与ETL入仓的实战模块,教你如何采集实时Web日志数据,并利用ETL流程将数据自动导入HDFS和Hive,确保数据传输和处理的高效稳定。

总体来说,这门课程面向希望提升大数据应用能力的技术人员和企业项目团队,紧密围绕公司电商流量项目的实际需求展开。通过系统的理论讲解与动手实践,你不仅能够构建从数据采集、存储、处理到可视化展示的完整数据管道,还能利用PV、UV、环比、等比等关键指标,全面掌握电商流量数据分析的核心技能。

今天这篇文章就到这里了,大厦之成,非一木之材也;大海之阔,非一流之归也。感谢大家观看本文

在这里插入图片描述

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

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

相关文章

EMC电磁兼容进阶3讲培训:专题三 近场探头和频谱仪在EMC整改中的应用

一节课&#xff0c;名企实战型工程师让你了解近场探头与频谱分析仪在EMC整改中的应用&#xff0c;从实际整改测试出发&#xff0c;结合实际项目案例进行讲解。一顿聚餐的费用&#xff0c;助您入门一个很有前景的行业&#xff01; 注&#xff1a;不是卖资料&#xff01;不是卖资…

使用动态IP 需要注意什么

网络安全防护动态IP会频繁变更&#xff0c;需确保防火墙和杀毒软件实时更新&#xff0c;防止因IP变动导致的安全漏洞。避免在公共网络环境下登录敏感账户&#xff0c;建议使用VPN加密连接。服务稳定性管理某些在线服务&#xff08;如远程办公、游戏服务器&#xff09;可能因IP变…

GitHub自动化利器:Probot框架实战指南

引言 在当今快节奏的软件开发世界中&#xff0c;自动化已成为提高生产力和保证代码质量的关键要素。GitHub作为全球最大的代码托管平台&#xff0c;其丰富的API生态系统为自动化提供了无限可能。Probot作为一个基于Node.js的开源框架&#xff0c;专门用于构建GitHub应用程序&a…

第十四届蓝桥杯青少组C++选拔赛[2023.2.12]第二部分编程题(4、最大空白区)

参考程序1&#xff1a;#include <bits/stdc.h> using namespace std;int main() {int N, M;cin >> N >> M;vector<vector<int>> grid(N, vector<int>(M));for (int i 0; i < N; i)for (int j 0; j < M; j)cin >> grid[i][j]…

文心一言-Agent岗三轮面试全记录

面经分享&#xff5c;文心一言-Agent岗三轮面试全记录 前段时间面试了 文心一言团队 - 大模型 Agent 岗&#xff0c;三轮面试下来感触颇多。整体来说&#xff0c;文心团队的面试节奏偏“循序渐进”&#xff1a;一面看基础&#xff0c;二面看综合素养&#xff0c;三面看思考深度…

【大前端++】几大特征

大纲 大前端业务模型结构如下&#xff1a; 服务后台大前端原生系统可定制的终端硬件 1、业务的起点技术结构基于跨平台前端框架 Electronvue/Rect/其他web框架js/ts FlutterDartvue/Rect/其他web框架js/ts 其他前端框架结构 2、有特定的业务使用场景 人脸识别考勤 数字…

计算机网络---网络体系结构

文章目录1. 网络的概念1.1 什么是计算机网络1.2 简单的计算机网络1.3 互联网&#xff08;或因特网&#xff0c;Internet&#xff09;1.4 计算机网络、互连网和互联网三者的区别1.5 总结2. 网络的组成、功能2.1 组成2.1.1 从组成部分看2.1.2 从工作方式看2.1.3 从逻辑功能看2.2 …

机器学习超参数调优全方法介绍指南

本篇文章Master Hyperparameter Tuning in Machine Learning适合希望深入了解超参数调优的读者。文章的亮点在于介绍了多种调优方法&#xff0c;如手动搜索、网格搜索、随机搜索、贝叶斯优化和元启发式算法&#xff0c;并通过实际案例展示了这些方法在复杂模型&#xff08;如CN…

怎么降低 AIGC 生成率?

怎么降低 AIGC 生成率&#xff1f;市面上那些号称 "AI 降重神器" 的工具真的有用吗&#xff1f;想和大家聊聊我的看法 ——人工修改生成内容&#xff0c;可能是目前最靠谱的办法。一、AI 降重工具的实际效果现在很多工具说能通过 AI 降低 AIGC 生成率&#xff0c;原理…

心磁图 QRS 参数在 Brugada 综合征心律失常风险分层中的应用

研究背景Brugada 综合征是一种与致命性室性心律失常及心源性猝死风险相关的遗传性心脏离子通道病&#xff0c;其典型特征为右胸导联&#xff08;V1-V3&#xff09;出现特征性ST段抬高&#xff08;1型、2型或3型 Brugada 心电图表现&#xff09;。然而&#xff0c;静息心电图呈现…

Futuring robot旗下家庭机器人F1将于2025年面世

2025年9月10日&#xff0c;张翼二次创业的机器人公司Futuring Robot发布了第一款家庭服务机器人F1。这款F1机器人不仅具备端茶送水、物品递送、家庭整理等日常服务能力&#xff0c;还深度融合了多项教育辅助功能&#xff0c;如学习陪伴、棋类对弈、作业进度管理等&#xff0c;旨…

User类CRUD实现

代码&#xff1a; WYend/Myblog_springbook3: 我的第一个个人网站&#xff08;后端版&#xff09; 随时更新 一、数据库的构建 交给ai 二、各类注解 Lombok注解 Data&#xff1a; 自动生成类的getter、setter、toString()、equals()、hashCode()方法适用于实体类&#xff…

【Linux | 网络】数据链路层

一、以太网1.1 认识以太网1.2 以太网帧格式1.3 MAC地址1.3.1 认识MAC地址1.3.2 MAC地址的类型1.3.3 MAC地址 VS IP地址1.4 局域网如何通信1.5 局域网数据碰撞1.5.1 数据碰撞1.5.2 划分碰撞域&#xff08;交换机&#xff09;二、ARP协议2.1 ARP协议的作用2.2 ARP数据报的格式2.3…

Google Ads广告验证全攻略:如何借助动态住宅IP精准投放?

在竞争激烈的数字广告领域&#xff0c;Google Ads扮演着至关重要的角色。然而&#xff0c;随着广告政策的不断更新和平台对广告质量要求的提高&#xff0c;广告验证已成为许多广告主绕不开的环节。同时&#xff0c;如何实现精准投放&#xff0c;将广告触达最相关的目标受众&…

鸿蒙Next Web组件生命周期详解:从加载到销毁的全流程掌控

想要精通鸿蒙应用开发&#xff1f;Web组件的9大生命周期回调是你必须掌握的上帝视角&#xff01;在鸿蒙应用开发中&#xff0c;Web组件是我们加载本地或在线网页的强大工具。它提供了完整的生命周期回调体系&#xff0c;让开发者能够精准感知网页加载的每个阶段&#xff0c;从而…

python学习进阶之异常和文件操作(三)

文章目录1.程序异常2.文件操作3.json操作1.程序异常 1.1 异常 异常概念&#xff1a; 程序在运行时, 如果Python解释器遇到到一个错误, 则会停止程序的执行, 并且提示一些错误信息, 这就是异常 抛出异常&#xff1a; 程序停止执行并且提示错误信息这个动作, 通常称之为抛出(ra…

NodeJS 8 ,从 0 到 1:npm 包发布与更新全流程指南( 含多场景适配与踩坑总结 )

目录 前言 一、准备工作 1.1 开发环境搭建 1.1.1 环境安装 1.1.2 配置问题 1.2 账号注册 1.2.1 账号注册&#xff08;两种方式&#xff09; 1.2.2 登录验证 1.2.3 个人设置 1.2.4 安全配置 1.3 初始配置 1.3.1 初始项目目录 1.3.2 关键字段详解 1.3.3 手动完善 二…

BERT中文预训练模型介绍

bert-base-chinese 是由谷歌基于 BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;模型预训练得到的适用于中文任务的模型版本。以下从多个方面对其进行详细解释&#xff1a; 模型概述 BERT 是一种基于 Transformer 架构的预训练语言模型…

Archon01-项目部署

Archon01-项目部署当前已经参考B站视频针对代码进行修改&#xff0c;可直接使用BigModel智谱的GLM-4.5替换openAI进行使用&#xff0c;部署环境&#xff08;Python3.12-slim环境&#xff09;1-核心知识点关键字&#xff1a; Docker Supabase Archon BigModel Python1&#xff0…

HarmonyOS时间戳完全指南:DevEco Studio中的时间处理与实战应用

时间戳是现代应用开发中不可或缺的基础功能&#xff0c;无论是日志记录、数据同步、缓存管理还是状态追踪都离不开时间戳的支持。本文将深入探讨在DevEco Studio中如何处理和使用时间戳&#xff0c;并提供丰富的实战示例。一、时间戳基础概念什么是时间戳&#xff1f;时间戳&am…