<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[2402_83403264的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/2402_83403264</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; 2402_83403264]]></copyright><item><title><![CDATA[Zookeeper（2）]]></title><link>https://blog.youkuaiyun.com/2402_83403264/article/details/147945968</link><guid>https://blog.youkuaiyun.com/2402_83403264/article/details/147945968</guid><author>2402_83403264</author><pubDate>Wed, 14 May 2025 09:53:50 +0800</pubDate><description><![CDATA[分布式系统是一种由多个独立的计算机（节点）组成的系统，这些节点通过网络通信来协同完成任务，对外表现为一个整体的系统。一般是产品人员提需求 → 数据部门搭建数据平台，分析数据指标 → 数据可视化（报表展示，邮件发送，大屏幕展示等等）前面介绍了大数据的一些基本理论，那大家知道在一家企业中，大数据部门是怎么构成的？一共有四个组成部分：MapReduce计算，Yarn资源调度，HDFS数据存储，Common辅助工具。广义上讲，Hadoop是一个更广泛的概念-- Hadoop生态圈。，是如何协同工作的呢？]]></description><category></category></item><item><title><![CDATA[Zookeeper（1）]]></title><link>https://blog.youkuaiyun.com/2402_83403264/article/details/147945839</link><guid>https://blog.youkuaiyun.com/2402_83403264/article/details/147945839</guid><author>2402_83403264</author><pubDate>Wed, 14 May 2025 09:52:49 +0800</pubDate><description><![CDATA[spark经常和hadoop来对比，更准确是和mapReduce进行对比，因为spark本身也是一个计算框架。进入到我们安装yarn的主机，通过命令来关闭掉yarn和historyServer，然后再重启。大数据不止有数量大这个显著的特点，还有其他的特点，我们总结为4V。接下来我们来粗略看整个大数据技术的发展脉络，这里我们分成三个阶段来介绍。例如：11.11期间，京东在1秒内的交易额就超过了10亿。金融：多维度体现用户特征，帮助金额机构推荐优质客户。给你家人推荐的内容，也会推荐给你。推荐你喜欢的内容给你。]]></description><category></category></item><item><title><![CDATA[SparkSQL-数据提取和保存]]></title><link>https://blog.youkuaiyun.com/2402_83403264/article/details/147945683</link><guid>https://blog.youkuaiyun.com/2402_83403264/article/details/147945683</guid><author>2402_83403264</author><pubDate>Wed, 14 May 2025 09:51:50 +0800</pubDate><description><![CDATA[从给定的user.csv文件中，读入用户数据，过滤掉年龄<18岁的信息，然后把剩余的数据写入mysql数据库中。这里要先去准备mysql数据库。从csv中读入数据到DataFrame。// 读入data/user.csv文件的数据。通过mysql -uroot -p 来登录mysql。在mysql中创建数据表，特别注意字符编码的问题。建立一个.csv文件，然后添加基本数据。dataFrame做数据写入到mysql。读入csv文件到 dataFrame。准备user.csv文件。]]></description><category></category></item><item><title><![CDATA[SparkSQL操作Mysql（2）]]></title><link>https://blog.youkuaiyun.com/2402_83403264/article/details/147945396</link><guid>https://blog.youkuaiyun.com/2402_83403264/article/details/147945396</guid><author>2402_83403264</author><pubDate>Wed, 14 May 2025 09:49:59 +0800</pubDate><description><![CDATA[请注意，这里并没没有单独添加spark_core的依赖，因为在spark-sql中已经包含了spark_core。（1）scala-library 是 Scala 语言的基础库，是编写 Scala 程序的必要条件。（2）spark-sql_2.12 提供了 Spark SQL 的功能，用于高效的数据处理和分析。（3）mysql-connector-java 提供了与 MySQL 数据库交互的能力。前面演示了数据的查询，现在来看看添加数据到mysql。我们去创建一个新的数据库，数据表，并插入一条数据。]]></description><category></category></item><item><title><![CDATA[SparkSQL操作Mysql（1）]]></title><link>https://blog.youkuaiyun.com/2402_83403264/article/details/147945054</link><guid>https://blog.youkuaiyun.com/2402_83403264/article/details/147945054</guid><author>2402_83403264</author><pubDate>Wed, 14 May 2025 09:47:46 +0800</pubDate><description><![CDATA[rpm -ivh 是 Linux 中用于安装 RPM（Red Hat Package Manager）软件包的命令。若已安装，需要先做卸载MySQL的操作命令是：rpm -e --nodeps mariadb-libs。使用的命令是： mysqld --initialize --user=mysql。查看是否已安装MySQL。-v：表示显示详细（verbose）信息，提供更多安装过程中的输出信息。对应的命令是：mysql -uroot -p。-h：表示在安装过程中显示进度条，以 # 符号表示安装进度。]]></description><category></category></item><item><title><![CDATA[SparkSQL-基本使用]]></title><link>https://blog.youkuaiyun.com/2402_83403264/article/details/147944706</link><guid>https://blog.youkuaiyun.com/2402_83403264/article/details/147944706</guid><author>2402_83403264</author><pubDate>Wed, 14 May 2025 09:45:08 +0800</pubDate><description><![CDATA[有一个名为 ecommerce_data.csv 的 CSV 文件，包含以下列：order_id（订单编号）、product_id（商品编号）、product_name（商品名称）、quantity（购买数量）、price（商品单价）、user_id（用户编号）、order_date（订单日期）。使用sql风格操作的前提是将DataFrame注册成一个临时表，在程序中直接使用spark.sql()方式执行SQL查询，结果将作为一个DataFrame返回。目标要求是：筛选出购买数量大于 5 的订单信息。]]></description><category></category></item><item><title><![CDATA[自定义分区器（2）]]></title><link>https://blog.youkuaiyun.com/2402_83403264/article/details/147944511</link><guid>https://blog.youkuaiyun.com/2402_83403264/article/details/147944511</guid><author>2402_83403264</author><pubDate>Wed, 14 May 2025 09:41:51 +0800</pubDate><description><![CDATA[MyPartitioner类继承自Partitioner，实现了numPartitions方法指定分区数量为 3 ，实现getPartition方法，根据球队名称判断分区索引，湖人对应分区 0，火箭对应分区 1，其他球队对应分区 2。2.在main方法中，创建包含球队信息的 RDD，然后调用partitionBy方法并传入自定义分区器MyPartitioner，对 RDD 进行分区，最后将分区后的数据保存到指定路径。("勇士", "info1"),("湖人", "info3"),]]></description><category></category></item><item><title><![CDATA[自定义分区器-基础]]></title><link>https://blog.youkuaiyun.com/2402_83403264/article/details/147944221</link><guid>https://blog.youkuaiyun.com/2402_83403264/article/details/147944221</guid><author>2402_83403264</author><pubDate>Wed, 14 May 2025 09:40:35 +0800</pubDate><description><![CDATA[这就类似于 Spark 中的分区，每个分区的数据可以在不同的计算节点上同时进行处理，从而加快整个数据处理的速度。：Spark 能够同时对多个分区的数据进行处理，充分利用集群的计算资源，进而加快作业的执行速度。在 Spark 中，分区是指将数据集按照一定的规则划分成多个较小的子集，每个子集可以独立地在不同的计算节点上进行处理，这样可以实现数据的并行处理，提高计算效率。在 Spark 中，RDD 是数据的集合，它会被划分成多个分区，这些分区可以分布在不同的计算节点上，就像图书馆的书架分布在不同的房间一样。]]></description><category></category></item><item><title><![CDATA[spark缓存（2）]]></title><link>https://blog.youkuaiyun.com/2402_83403264/article/details/147944061</link><guid>https://blog.youkuaiyun.com/2402_83403264/article/details/147944061</guid><author>2402_83403264</author><pubDate>Wed, 14 May 2025 09:38:31 +0800</pubDate><description><![CDATA[MEMORY_ONLY_SER：将 RDD 以序列化的 Java 对象形式存储在内存中，相较于 MEMORY_ONLY，序列化后占用的内存空间更小，但读取时需要进行反序列化操作，会带来一定的性能开销。cache：其实是 persist 方法的一种特殊情况，它等价于调用 persist(StorageLevel.MEMORY_ONLY)，也就是将数据以非序列化的 Java 对象形式存储在内存中。MEMORY_AND_DISK：优先把 RDD 以 Java 对象的形式存储在 JVM 的内存中。]]></description><category></category></item><item><title><![CDATA[Spark缓存]]></title><link>https://blog.youkuaiyun.com/2402_83403264/article/details/147943844</link><guid>https://blog.youkuaiyun.com/2402_83403264/article/details/147943844</guid><author>2402_83403264</author><pubDate>Wed, 14 May 2025 09:37:13 +0800</pubDate><description><![CDATA[第二次调用collect时，因为之前已经调用了cache方法，并且结果已被缓存，所以不需要再次执行计算，直接从缓存中读取数据。通过对比两次计算的耗时，可以明显发现第二次计算耗时会远小于第一次（在数据量较大或计算复杂时效果更显著），这就体现了cache方法缓存计算结果、避免重复计算、提升后续操作速度的作用。当持久化某个RDD后，每一个节点都将把计算的分片结果保存在内存中，并在对此RDD或衍生出的RDD进行的其他动作中重用。这就是没有缓存的效果。时，该RDD将会被缓存在计算节点的内存中，并供以后重用。]]></description><category></category></item><item><title><![CDATA[Spark处理过程-行动算子]]></title><link>https://blog.youkuaiyun.com/2402_83403264/article/details/147943630</link><guid>https://blog.youkuaiyun.com/2402_83403264/article/details/147943630</guid><author>2402_83403264</author><pubDate>Wed, 14 May 2025 09:35:25 +0800</pubDate><description><![CDATA[reduce 用于对 RDD 中的元素进行全局聚合操作，例如计算 RDD 中所有元素的总和、最大值、最小值等。它会触发 Spark 作业的实际执行，对 RDD 中的所有元素进行计数，并将最终的计数结果返回给驱动程序。f: T => Unit：这是一个函数，它接收一个类型为 T 的元素（T 为 RDD 中元素的类型），并对该元素执行相应的操作，但不返回任何值（返回类型为 Unit）。返回值：返回一个包含 RDD 中所有元素的数组，数组元素的类型与 RDD 中元素的类型一致。参数说明：该算子没有参数。]]></description><category></category></item><item><title><![CDATA[Spark处理过程-转换算子]]></title><link>https://blog.youkuaiyun.com/2402_83403264/article/details/147943298</link><guid>https://blog.youkuaiyun.com/2402_83403264/article/details/147943298</guid><author>2402_83403264</author><pubDate>Wed, 14 May 2025 09:33:34 +0800</pubDate><description><![CDATA[它的核心作用是对具有相同键的所有值进行聚合操作，通过用户提供的聚合函数将这些值合并成一个结果，从而实现数据的归约和统计。：对 RDD 中的每个元素应用给定的函数 f，将每个元素转换为另一个元素，最终返回一个新的 RDD。：筛选出 RDD 中满足函数 f 条件（即 f 函数返回 true）的元素，返回一个新的 RDD，新 RDD 中的元素类型与原 RDD 相同。：对 RDD 中的每个元素应用函数 f，函数 f 返回一个可遍历的集合，然后将这些集合中的元素扁平化合并成一个新的 RDD。]]></description><category></category></item><item><title><![CDATA[自定义分区器-基础]]></title><link>https://blog.youkuaiyun.com/2402_83403264/article/details/147756764</link><guid>https://blog.youkuaiyun.com/2402_83403264/article/details/147756764</guid><author>2402_83403264</author><pubDate>Wed, 07 May 2025 11:13:11 +0800</pubDate><description><![CDATA[当使用 textFile 方法从外部存储（如 HDFS、本地文件系统等）读取文件创建 RDD 时，默认分区数通常由文件的块大小决定。对于 HDFS 文件，默认分区数等于文件的块数。例如，一个 128MB 的文件在 HDFS 上被分成 2 个 64MB 的块，那么创建的 RDD 默认分区数就是 2。在 Spark 里，弹性分布式数据集（RDD）是核心的数据抽象，它是不可变的、可分区的、里面的元素并行计算的集合。RDD 会被划分成多个分区，每个分区就是一个数据集片段，这些分区可以分布在集群的不同节点上。]]></description><category></category></item><item><title><![CDATA[Linux操作系统命令-复杂命令（2）]]></title><link>https://blog.youkuaiyun.com/2402_83403264/article/details/147753231</link><guid>https://blog.youkuaiyun.com/2402_83403264/article/details/147753231</guid><author>2402_83403264</author><pubDate>Wed, 07 May 2025 09:19:10 +0800</pubDate><description><![CDATA[ls命令可以查看文件夹下的文件信息，如果某个文件夹下的文件特别多，使用ls命令时，就只能显示后面一部分文件信息，那如果我们希望查看全部的文件信息，要怎么办呢？因为在linux下，我们要去下载安装新的软件时就需要用到它：下载下来的软件大多都是.tar格式，而安装的过程就是解压缩。会把111追加到a.txt这个文件中。ls 用来显示文件夹下的文件信息，more用来翻页，而 | 就可以把前一个的结果作为输入传递给more。多次运行也只有一条数据。-c 建立一个压缩文件，把多个文件或者文件夹压缩到一个新的文件中。]]></description><category></category></item><item><title><![CDATA[Linux操作系统命令-复杂命令]]></title><link>https://blog.youkuaiyun.com/2402_83403264/article/details/147753190</link><guid>https://blog.youkuaiyun.com/2402_83403264/article/details/147753190</guid><author>2402_83403264</author><pubDate>Wed, 07 May 2025 09:17:56 +0800</pubDate><description><![CDATA[说明：如果源文件和目标文件在同一个目录下，就是重命名，否则就是。它的功能类似如cat,不过它会翻页的形式显示，适合大文件查看。复制一份得到file2.t x t。复制和移动都分为文件和文件夹，具体的命令是cp和mv。3. more -tail：查看文件的结尾部分的内容。创建一个空的文件： touch file1.txt。例如：more /etc/sudo.conf。例如：cat /etc/host.conf。格式： cp 源文件 目标文件。示例： 把file1.txt。格式：mv 源文件 目标文件。]]></description><category></category></item><item><title><![CDATA[Spark集群搭建-Standalone模式]]></title><link>https://blog.youkuaiyun.com/2402_83403264/article/details/147752742</link><guid>https://blog.youkuaiyun.com/2402_83403264/article/details/147752742</guid><author>2402_83403264</author><pubDate>Wed, 07 May 2025 09:05:16 +0800</pubDate><description><![CDATA[把第一步上传的安装包解压到/opt/module下（也可以自己决定解压到哪里）。对应的命令是：tar -zxvf spark-3.3.1-bin-hadoop3.tgz -C /opt/module。进入/opt/module/把解压的内容重命名一下，mv spark-3.1.1-bin-hadoop3.2/ spark-standalone。Spark 的 Standalone 模式是一种独立的集群部署模式，自带完整服务，可单独部署到一个集群中，无需依赖任何其他资源管理系统。]]></description><category></category></item><item><title><![CDATA[MapReduce架构-打包运行]]></title><link>https://blog.youkuaiyun.com/2402_83403264/article/details/147752535</link><guid>https://blog.youkuaiyun.com/2402_83403264/article/details/147752535</guid><author>2402_83403264</author><pubDate>Wed, 07 May 2025 08:57:15 +0800</pubDate><description><![CDATA[从 Java 7 开始，为了简化版本号的表示，Oracle 开始采用新的命名方式，将 1.x 改为 x。从 Java 9 开始，版本号的命名方式完全统一为 x，例如 Java 9、Java 11、Java 17 等，不再使用 1.x 的形式。我们集群上安装的java环境是1.8的，那么我们生成的代码也必须是这个版本的，否则，就会无法运行。我们集群上安装的java环境是1.8的，那么我们生成的代码也必须是这个版本的，否则，就会无法运行。在上面的代码中，我们的程序只能完成固定目录下的功能。]]></description><category></category></item><item><title><![CDATA[MapReduce架构-序列化]]></title><link>https://blog.youkuaiyun.com/2402_83403264/article/details/147752498</link><guid>https://blog.youkuaiyun.com/2402_83403264/article/details/147752498</guid><author>2402_83403264</author><pubDate>Wed, 07 May 2025 08:54:49 +0800</pubDate><description><![CDATA[下面我们来看一个例子：通过代码来定义一个类，并创建它的一个对象，把这个对象保存到文件中（序列化），然后再写代码读取这个文件并还原回来。// 2. 使用ObjectInputStream对象中的readObject方法，读取文件中的对象。序列化就是把内存中的对象，转换成字节序列（或其他数据传输协议）以便于存储到磁盘（持久化）和网络传输。反序列化就是将收到字节序列（或其他数据传输协议）或者是磁盘的持久化数据，转换成内存中的对象。序列化可以存储“活的”对象，可以将“活的”对象发送到远程计算机。]]></description><category></category></item><item><title><![CDATA[Yarn-tool接口]]></title><link>https://blog.youkuaiyun.com/2402_83403264/article/details/147752439</link><guid>https://blog.youkuaiyun.com/2402_83403264/article/details/147752439</guid><author>2402_83403264</author><pubDate>Wed, 07 May 2025 08:52:18 +0800</pubDate><description><![CDATA[org.apache.hadoop.util.Tool 是 Apache Hadoop 框架里的一个接口，其用途是协助开发可通过命令行运行的 Hadoop 应用程序。ToolRunner 是 Hadoop 提供的一个实用类，可用于运行实现了 Tool 接口的应用程序。run(String[] args)：此方法为应用程序的主要执行逻辑，接收命令行参数，返回一个整数代表执行结果（通常 0 表示成功，非 0 表示失败）。2.run 方法会打印出接收到的命令行参数，你可以在此添加自己的业务逻辑。]]></description><category></category></item><item><title><![CDATA[Spark-core-RDD入门]]></title><link>https://blog.youkuaiyun.com/2402_83403264/article/details/147752405</link><guid>https://blog.youkuaiyun.com/2402_83403264/article/details/147752405</guid><author>2402_83403264</author><pubDate>Wed, 07 May 2025 08:50:20 +0800</pubDate><description><![CDATA[Resilient Distributed Dataset 叫做弹性分布式数据集，是Spark中最基本的数据抽象，是分布式计算的实现载体，代表一个不可变，可分区，里面的元素并行计算的集合。类用于配置 Spark 应用程序的各种参数。通过 SparkConf 类，你可以设置应用程序的名称、运行模式（如本地模式、集群模式）、资源分配（如内存、CPU 核心数）等。- Distributed: 分布式存储的，表示数据是存放在不同的机器上的。：集合中的数据可以被并行的计算处理，每个分区数据被一个Task任务处理。]]></description><category></category></item></channel></rss>