
Big Data
文章平均质量分 79
大数据AI
公众号:大数据AI
展开
-
【Flume Kafaka实战】Using Kafka with Flume
在现实的生产中,如果需要把一个文本数据通过kakfa写入到hdfs中,更合理的做法是使用一个agent,把kafka作为channel来使用。默认情况下,所有的Agent都处于一个叫Agent Default Group的角色组中,处于同一角色组中的Agent共享相同的配置。比如我的配置中,数据是写到/flume这个目录下的,这个目录我是用root用户去创建的,但flume运行是使用一个叫flume的用户名来运行的,所以用hdfs dfs -chmod 777 /flume把这个目录的读写权限放开了。原创 2024-09-29 08:32:38 · 741 阅读 · 0 评论 -
Spark2.x 入门:协同过滤算法
一、方法简介协同过滤是一种基于一组兴趣相同的用户或项目进行的推荐,它根据邻居用户(与目标用户兴趣相似的用户)的偏好信息产生对目标用户的推荐列表。关于协同过滤的一个经典的例子就是看电影。如果你不知道哪一部电影是自己喜欢的或者评分比较高的,那么通常的做法就是问问周围的朋友,看看最近有什么好的电影推荐。而在问的时候,肯定都习惯于问跟自己口味差不多的朋友,这就是协同过滤的核心思想。因此,协同过滤是原创 2024-09-27 09:25:56 · 1126 阅读 · 0 评论 -
一文看尽Flume原理和最佳实践
Flume NG是Cloudera提供的一个分布式、可靠、可用的系统,它能够将不同数据源的海量日志数据进行高效收集、聚合、移动,最后存储到一个中心化数据存储系统中。由原来的Flume OG到现在的Flume NG,进行了架构重构,并且现在NG版本完全不兼容原来的OG版本。经过架构重构后,Flume NG更像是一个轻量的小工具,非常简单,容易适应各种方式日志收集,并支持failover和负载均衡。Flume 使用 java 编写,其需要运行在 Java1.6 或更高版本之上。原创 2024-09-27 09:24:05 · 199 阅读 · 0 评论 -
Spark 集群进行 ETL 的架构介绍
什么是ETLETL(extract提取、transform转换、load加载)。ETL负责将分散的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后,进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘提供决策支持的数据。使用Spark开发ETL系统的优势由于海量的日志记录、交易记录,单机进行ETL变得越来越困难。搭建一套具备大规模数据处原创 2024-09-10 08:34:23 · 1228 阅读 · 0 评论 -
Spark2.x 入门:高斯混合模型(GMM)聚类算法
模型的训练与分析Spark的ML库提供的高斯混合模型都在org.apache.spark.ml.clustering包下,和其他的聚类方法类似,其具体实现分为两个类:用于抽象GMM的超参数并进行训练的GaussianMixture类(Estimator)和训练后的模型GaussianMixtureModel类(Transformer),在使用前,引入需要的包:import org.ap原创 2024-09-09 10:08:08 · 486 阅读 · 0 评论 -
Spark2.x 入门: KMeans 聚类算法
KMeans 是一个迭代求解的聚类算法,其属于 划分(Partitioning) 型的聚类方法,即首先创建K个划分,然后迭代地将样本从一个划分转移到另一个划分来改善最终聚类的质量。ML包下的KMeans方法位于org.apache.spark.ml.clustering包下,其过程大致如下:1.根据给定的k值,选取k个样本点作为初始划分中心;2.计算所有样本点到每一个划分中心的距离,原创 2024-09-07 10:22:30 · 1165 阅读 · 0 评论 -
Spark2.x 入门:决策树分类器
一、方法简介 决策树(decision tree)是一种基本的分类与回归方法,这里主要介绍用于分类的决策树。决策树模式呈树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别。学习时利用训练数据,根据损失函数最小化的原则建立决策树模型;预测时,对新的数据,利用决策树模型进行分类。决策树学习通常包括3个步骤:特征选择、决策树的生成和决策树的剪枝。原创 2024-09-06 14:18:07 · 558 阅读 · 0 评论 -
Spark2.x 入门:逻辑回归分类器
方法简介逻辑斯蒂回归(logistic regression)是统计学习中的经典分类方法,属于对数线性模型。logistic回归的因变量可以是二分类的,也可以是多分类的。示例代码我们以iris数据集(iris)为例进行分析。iris以鸢尾花的特征作为数据来源,数据集包含150个数据集,分为3类,每类50个数据,每个数据包含4个属性,是在数据挖掘、数据分类中非常常用的测试集、训练集。原创 2024-09-05 09:07:36 · 686 阅读 · 1 评论 -
libsvm 数据格式简介
libsvm文件数据格式:label> index1>:value1> index2>:value2> ...其中, 是训练数据集的目标值,对于分类,它是标识某类的整数(支持多个类);对于回归,是任意实数。 是以1开始的整数,可以是不连续的;为实数,也就是我们常说的自变量。即:lable 数据集的标签,index为特征,value为特征值。例如:+1 1:0.原创 2024-09-04 09:16:03 · 428 阅读 · 0 评论 -
数据驱动未来:全球热门大数据平台精选
大数据基础服务平台是一种用于管理、存储、处理和分析大量数据的平台。它提供了一系列的大数据处理和分析工具,包括 Hadoop、Hive、HBase、Spark、Flink、Zookeeper、Kafka 等,使得企业和组织能够更好地理解和利用他们的数据。随着 Cloudera 和 Hortonworks 合并后,逐步将 CDH 和 HDP 停止免费使用后,市场上便掀起了对大数据基础服务平台的替代浪潮。尤其是国内外众多厂商纷纷推出了自己的大数据平台产品。原创 2024-08-30 08:34:16 · 2022 阅读 · 0 评论 -
Spark2.x:通过 JDBC 连接数据库(DataFrame)
这里以关系数据库MySQL(MarinDB)为例。下面我们要新建一个测试Spark程序的数据库,数据库名称是“spark”,表的名称是“student”。请执行下面命令在Linux中启动MySQL数据库,并完成数据库和表的创建,以及样例数据的录入:MariaDB [(none)]> create database spark;Query OK, 1 row affected (0.0原创 2024-08-29 08:45:24 · 482 阅读 · 0 评论 -
Spark2.x 入门:连接 Hive 读取数据(DataFrame)
一、在Hive中创建数据库和表下面我们进入Hive,新建一个数据库sparktest,并在这个数据库下面创建一个表student,并录入两条数据。 下面操作请在Hive命令提示符下操作:hive> create database if not exists sparktest;//创建数据库sparktesthive> show databases; //显示一下是否创建出了spa原创 2024-08-28 08:37:01 · 305 阅读 · 1 评论 -
Spark2.x 入门: 读写 Parquet(DataFrame)
Spark SQL可以支持Parquet、JSON、Hive等数据源,并且可以通过JDBC连接外部数据源。前面的介绍中,我们已经涉及到了JSON、文本格式的加载,这里不再赘述。这里介绍Parquet,下一节会介绍JDBC数据库连接。Parquet是一种流行的列式存储格式,可以高效地存储具有嵌套字段的记录。Parquet是语言无关的,而且不与任何一种数据处理框架绑定在一起,适配多种语言和组件,能原创 2024-08-26 14:27:28 · 495 阅读 · 0 评论 -
Spark 之 map 与 flatMap 的区别
map 函数它将某个函数应用到集合中的每个元素,并产生一个结果集合。我们可以这样对列表的元素进行平方:scala> list1res3: List[Int] = List(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)scala> list1.map(x=>x*x)res4: List[Int] = List(0, 1, 4, 9, 16, 25, 36原创 2024-08-24 16:08:02 · 459 阅读 · 1 评论 -
Spark2.x 入门:Apache Kafka 作为 DStream 数据源
注意,上面命令中,"master:9092 wordsender 3 5"是提供给KafkaWordProducer程序的4个输入参数,第1个参数master:9092是Kafka的broker的地址,第2个参数wordsender是topic的名称,我们在KafkaWordCount.scala代码中已经把topic名称写死掉,所以,KafkaWordCount程序只能接收名称为"wordsender"的topic。这个终端窗口就放在这里,不要关闭,千万不要关闭,就让它一直不断发送单词。原创 2024-08-23 08:24:53 · 345 阅读 · 0 评论 -
Spark2.x 入门:DStream 输出操作
在Spark应用中,外部系统经常需要使用到Spark DStream处理后的数据,因此,需要采用输出操作把DStream的数据输出到数据库或者文件系统中。这里以《Spark2.1.0入门:DStream输出操作》中介绍的NetworkWordCountStateful.scala为基础进行修改。把DStream输出到文本文件中NetworkWordCountStateful.sca原创 2024-08-22 11:19:15 · 406 阅读 · 0 评论 -
Spark2.x 入门:把 Flume 作为 DStream 数据源
Flume是非常流行的日志采集系统,可以作为DStream的高级数据源。本部分将介绍如何让Flume推送消息给Spark Streaming,Spark Streaming收到消息后进行处理。任务描述把Flume Source设置为netcat类型,从终端上不断给Flume Source发送各种消息,Flume把消息汇集到Sink,这里把Sink类型设置为avro,由Sink把消息推送原创 2024-08-15 08:28:17 · 610 阅读 · 0 评论 -
Spark2.x 入门:套接字流(DStream)
Spark Streaming可以通过Socket端口监听并接收数据,然后进行相应处理。新建NetworkWordCount.scala代码文件,请在该文件中输入如下内容:package org.apache.spark.examples.streamingimport org.apache.spark._import org.apache.spark.streaming._im原创 2024-08-14 08:34:27 · 609 阅读 · 0 评论 -
Spark2.x 入门:文件流(DStream)
Spark支持从兼容HDFS API的文件系统中读取数据,创建数据流。为了能够演示文件流的创建,我们需要首先创建一个日志目录,并在里面放置两个模拟的日志文件。请在Linux系统中打开另一个终端,进入Shell命令提示符状态:cd /home/songxitang/spark/mycodemkdir streamingcd streamingmkdir logfilecd log原创 2024-08-13 08:43:45 · 764 阅读 · 0 评论 -
Flink入门 04.原理初探
1 Flink角色分工在实际生产中,Flink 都是以集群在运行,在运行的过程中包含了两类进程。JobManager它扮演的是集群管理者的角色,负责调度任务、协调 checkpoints、协调故障恢复、收集 Job 的状态信息,并管理 Flink 集群中的从节点 TaskManager。TaskManager实际负责执行计算的 Worker,在其上执行 Flink Job 的一组 Task;TaskManager 还是所在节点的管理员,它负责把该节点上的服务器信息比如内存、磁盘、任务运原创 2021-09-01 20:48:20 · 194 阅读 · 0 评论 -
Flink入门 03.入门案例
1 前置说明1.1 APIFlink提供了多个层次的API供开发者使用,越往上抽象程度越高,使用起来越方便;越往下越底层,使用起来难度越大注意:在Flink1.12时支持流批一体,DataSet API已经不推荐使用了,所以课程中除了个别案例使用DataSet外,后续其他案例都会优先使用DataStream流式API,既支持无界数据处理/流处理,也支持有界数据处理/批处理!当然Table&SQL-API会单独学习https://ci.apache.org/projects/fli原创 2021-09-01 20:39:54 · 176 阅读 · 0 评论 -
Flink入门 02.安装部署
Flink支持多种安装模式Local—本地单机模式,学习测试时使用Standalone—独立集群模式,Flink自带集群,开发测试环境使用StandaloneHA—独立集群高可用模式,Flink自带集群,开发测试环境使用On Yarn—计算资源统一由Hadoop YARN管理,生产环境使用1 Local本地模式1.1 原理Flink程序由JobClient进行提交JobClient将作业提交给JobManagerJobManager负责协调资源分配和作业执原创 2021-09-01 20:20:53 · 420 阅读 · 0 评论 -
Flink入门 01.概述
1 实时即未来如今的我们正生活在新一次的信息革命浪潮中,5G、物联网、智慧城市、工业4.0、新基建……等新名词层出不穷,唯一不变的就是变化!对于我们所学习的大数据来说更是这样:数据产生的越来越快、数据量越来越大,数据的来源越来越千变万化,数据中隐藏的价值规律更是越来越被重视!数字化时代的未来正在被我们创造!历史的发展从来不会一帆风顺,随着大数据时代的发展,海量数据和多种业务的实时处理需求激增,比如:实时监控报警系统、实时风控系统、实时推荐系统等,传统的批处理方式和早期的流式处理框架因其自身的局限性原创 2021-09-01 19:49:15 · 313 阅读 · 0 评论 -
Flink Application Mode
随着流式计算的兴起,实时分析成为现代商业的利器。越来越多的平台和公司基于Apache Flink 构建他们的实时计算平台,并saas化。这些平台旨在通过简化应用的提交来降低最终用户的使用负担。通常的做法是,会提供一个诸如管理平台的web程序,方便使用者提交应用,并且该平台集成了一些权限,监控等内容。这个管理平台我可以叫作部署服务。但是现在这些平台遇到一个大问题是部署服务是一个消耗资源比较大的服务,并且很难计算出实际资源限制。比如,如果我们取负载的平均值,则可能导致部署服务的资源真实所需的值远远大于限制值转载 2021-08-31 18:07:41 · 1794 阅读 · 0 评论 -
Flink1.12 cdh版本编译
注意:从Flink 1.11开始,Flink项目不再正式支持使用Flink -shade -hadoop-2-uber版本。建议用户通过HADOOP_CLASSPATH提供Hadoop依赖项。Flink 在启动Flink组件(如Client、JobManager或TaskManager)前,将环境变量HADOOP_CLASSPATH的值添加到classpath中。但大多数Hadoop发行版和云环境不会默认设置HADOOP_CLASSPATH这个环境变量,所以如果Hadoop类路径应该由Flink选择,.原创 2021-08-31 18:01:11 · 451 阅读 · 0 评论 -
CDH6.3.4集成tez0.9.2
编译环境准备安装JDK[root@song ~]# tar -zxvf jdk-8u271-linux-x64.tar.gz [root@song ~]# mv jdk1.8.0_271/ /usr/local/java[root@song ~]# vim /etc/profile# set java envexport JAVA_HOME=/usr/local/javaexport PATH=$JAVA_HOME/bin:$PATH[root@song ~]# source /etc/pr原创 2021-08-24 21:27:40 · 530 阅读 · 0 评论 -
Alluxio运维
Alluxio命令alluxio fsadmin# 查看服务状态alluxio fsadmin report# 查看挂掉的服务ipalluxio fsadmin report capacity -lostalluxio getConf# 查看配置参数alluxio getConf --masterAlluxio运维实战Worker节点挂掉查看服务状态,发现有一台worker节点丢失查看丢失的节点是哪一台$ alluxio fsadmin report capacit原创 2021-08-24 21:18:54 · 225 阅读 · 0 评论 -
Alluxio与CDH组件集成
一、运行 CDH MapReduce1. 配置core-site.xml您需要将以下属性添加到中core-site.xml。只有使用HA模式的群集才需要ZooKeeper属性。同样,只有使用嵌入式日志的HA群集才需要嵌入式日志属性。<property> <name>fs.alluxio.impl</name> <value>alluxio.hadoop.FileSystem</value></property><原创 2021-08-24 21:15:54 · 303 阅读 · 0 评论 -
Alluxio源码编译适配CDH
一、源码编译确保你安装了Java(JDK 8或更高版本)以及Maven3.3.9及以上[root@song build]# git clone https://github.com/Alluxio/alluxio.git[root@song build]# cd alluxio/[root@song alluxio]# git checkout v2.4.1-1[root@song alluxio]# mvn clean install -Phadoop-3 -Dhadoop.version=原创 2021-08-14 11:18:58 · 334 阅读 · 0 评论 -
Alluxio简介
Alluxio简介Alluxio是什么Alluxio(之前名为 Tachyon)是世界上第一个以内存为中心的虚拟的分布式存储系统。 它统一了数据访问的方式,为上层计算框架和底层存储系统构建了桥梁。 应用只需要连接Alluxio即可访问存储在底层任意存储系统中的数据。此外,Alluxio的以内存为中心的架构使得数据的访问速度能比现有常规方案快几个数量级。在大数据生态系统中,Alluxio 介于计算框架(如 Apache Spark,Apache MapReduce,Apache Flink)和现有的存储原创 2021-08-14 11:01:14 · 2450 阅读 · 0 评论 -
pssh 批量运维工具
一、简介pssh全称是parallel-ssh,是一个Python编写的可以并发在多台服务器上批量执行命令的工具,它支持文件并行复制、远程并行执行命令、杀掉远程主机上的进程等。前提:使用pssh工具包,必须保证本地主机和管理的远程主机之间的单向信任,也就是要在本地主机和所有远程服务器上配置密钥认证访问。项目地址:https://code.google.com/p/parallel-ssh/pssh 包安装5个实用程序:parallel-ssh、parallel-scp、parallel-rs原创 2020-11-13 17:18:06 · 464 阅读 · 1 评论 -
SSH 原理与运用(二):远程操作与端口转发
一、远程操作SSH不仅可以用于远程主机登录,还可以直接在远程主机上执行操作。$ ssh user@host 'mkdir -p .ssh && cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub**单引号中间的部分,表示在远程主机上执行的操作;**后面的输入重定向,表示数据通过SSH传向远程主机。这就是说,SSH可以在用户和远程主机之间,建立命令和数据的传输通道,因此很多事情都可以通过SSH来完成。下面看几个例子。.转载 2020-11-13 17:14:12 · 351 阅读 · 0 评论 -
SSH 原理与运用(一):远程登录
SSH是每一台Linux电脑的标准配置。随着Linux设备从电脑逐渐扩展到手机、外设和家用电器,SSH的使用范围也越来越广。不仅程序员离不开它,很多普通用户也每天使用。SSH具备多种功能,可以用于很多场合。有些事情,没有它就是办不成。本文是我的学习笔记,总结和解释了SSH的常见用法,希望对大家有用。虽然本文内容只涉及初级应用,较为简单,但是需要读者具备最基本的"Shell知识"和了解"公钥加密"的概念。如果你对它们不熟悉,我推荐先阅读《UNIX / Linux 初学者教程》和《数字签名是什么?》。.转载 2020-11-13 17:12:18 · 786 阅读 · 0 评论 -
Spark ML机器学习库评估指标示例
本文主要对 Spark ML库下模型评估指标的讲解,以下代码均以Jupyter Notebook进行讲解,Spark版本为2.4.5。模型评估指标位于包org.apache.spark.ml.evaluation下。模型评估指标是指测试集的评估指标,而不是训练集的评估指标1、回归评估指标RegressionEvaluatorEvaluator for regression, whic...原创 2020-03-03 21:42:15 · 1611 阅读 · 0 评论 -
HBase简介与表结构
文章目录HBase是什么列式存储与行式存储HBase适用场景HBase表结构HBase是什么HBase,即Hadoop DataBase,是Hadoop的一个子项目,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,是Google Bigtable的开源实现。HBase在Hadoop生态中的位置如下 :使用HDFS作为其分布式存储系统,提供了高可靠的底层存储支持使用MapRedu...原创 2019-10-17 17:25:40 · 974 阅读 · 0 评论 -
使用 IDEA Maven 开发 Hadoop Cloudera CDH5.11.1
新建Maven项目打开 –> File –> New –> Project点击Next点击Finish编写MapReduce程序1.编写 Maven 依赖:依照Cloudera官方文档进行配置: Using the CDH 5 Maven RepositoryMaven Artifacts for CDH 5.11.x Releasespom.原创 2018-01-26 16:13:16 · 1727 阅读 · 0 评论 -
MapReduce之连接操作类应用
用MapReduce实现关系的自然连接假设有关系R(A,B)和S(B,C),对二者进行自然连接操作使用Map过程,把来自R的每个元组<a,b>转换成一个键值对<b, <R,a>>,其中的键就是属性B的值。把关系R包含到值中,这样做使得我们可以在Reduce阶段,只把那些来自R的元组和来自S的元组进行匹配。类似地,使用Map过程,把来自S的每个元组<b,c>,转换成一个键值对<原创 2017-03-28 10:02:11 · 2053 阅读 · 0 评论 -
HDFS 中 Java API 的使用
HDFS中 Java API 的使用文件在 Hadoop 中表示一个Path对象,通常封装一个URI,如HDFS上有个test文件,URI表示成hdfs://master:9000/test。Hadoop 中关于文件操作类基本上全部是在"org.apache.hadoop.fs"包中,这些 API 能够支持的操作包含打开文件、读写文件、删除文件等。通常MapReduce会把一个文件...原创 2019-03-18 22:05:40 · 399 阅读 · 0 评论 -
Spark2.x 入门:DStream 操作概述
DStream是Spark Streaming的编程模型,DStream的操作包括输入、转换和输出。Spark Streaming工作原理在Spark中,一个应用(Application)由一个任务控制节点(Driver)和若干个作业(Job)构成,一个作业由多个阶段(Stage)构成,一个阶段由多个任务(Task)组成。当执行一个应用时,任务控制节点会向集群管理器(Cluster M转载 2018-11-13 20:54:29 · 536 阅读 · 0 评论 -
Cloudera Manager CDH5 使用问题
一、权限问题1.HDFS权限问题在CDH上安装了HDFS,打开50070看到worknode正常,然后用了一个简单的上传文件到hdfs的代码,提示我:导入失败!异常信息:org.apache.hadoop.security.AccessControlException:Permission denied: user=John, access=WRITE, inode="/":原创 2018-01-25 23:08:13 · 9191 阅读 · 1 评论