自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(166)
  • 资源 (12)
  • 收藏
  • 关注

原创 Elasticsearch8.X入门实战(七)Java API操作:员工信息

Elasticsearch本身使用Java开发,因此对Java的支持能力是最好的。本节通过对员工信息建立索引,并对索引数据进行添加、修改等,讲解Elasticsearch的相关Java客户端 API的操作。

2022-12-27 10:31:11 701 1

原创 Elasticsearch8.X入门实战(六)Head插件安装

Elasticsearch Head是一个用于监控Elasticsearch集群的Web插件,可以对Elasticsearch数据进行浏览和查询。Elasticsearch 5.0后需要单独下载安装,并以一个单独服务的形式运行。Head插件使用Grunt进行启动。Grunt 是一个 JavaScript 自动化构建工具,对于需要反复重复的任务,例如压缩(minification)、编译、单元测试等,自动化工具可以减轻工作量。

2022-12-27 10:25:49 574

原创 Elasticsearch8.X入门实战(五)REST API (2)

在指定的索引中可以添加文档。上述命令中使用参数-H指定内容类型为application/json。这是因为,在Elasticsearch6.0版本之后,为了提高安全性,若使用curl或其他命令行工具将数据发送到Elasticsearch,则必须向任何包含主体的请求添加Content-Type报头,否则将添加失败。上述结果中的_version表示当前文档的版本号,每次对文档进行修改(包括删除)时,版本号都将递增。

2022-12-27 10:19:46 502

原创 Elasticsearch8.X入门实战(五)REST API (1)

Elasticsearch提供了一个非常全面和强大的REST API,可以使用Linux curl命令发起一个HTTP请求与集群进行交互,也可以使用任何允许进行HTTP/REST调用的工具来发起请求。其中被符号标记部分的含义如表名称说明VERBHTTP请求方法,取值为GET、POST、PUT、HEAD或DELETEPROTOCOL请求协议,取值为http或httpsHOSTElasticsearch集群任意一个节点的主机名PORT。

2022-12-27 10:08:53 637

原创 Elasticsearch8.X入门实战(四)Kibana8.1安装

Kibana是一个开源的分析与可视化平台,用于和Elasticsearch一起使用。我们可以用Kibana搜索、查看、交互存放在Elasticsearch索引里的数据,并使用各种不同的图表、表格、地图等进行可视化查看。

2022-12-27 10:01:57 653

原创 Elasticsearch8.X入门实战(三)Elasticsearch分布式集群搭建

本例仍然在三个节点(centos01、centos02和centos03)上搭建Elasticsearch集群。Elasticsearch的每个发行版中都内置了OpenJDK捆绑版本,而且是其推荐使用的版本,因此不需要单独配置JDK。

2022-12-27 09:53:14 509

原创 Elasticsearch8.X入门实战(二)Elasticsearch集群架构

Elasticsearch集群由一个或多个节点(服务器)组成,这些节点一起保存Elasticsearch的所有数据,并提供跨所有节点的联合索引和搜索功能。集群由一个唯一的名称来标识,该名称默认为“elasticsearch”(可以在配置文件中修改)。当某个节点被设置为相同的集群名称时,该节点才能加入集群。因此,如果有多个集群,需要确保每个集群的名称不能重复。Elasticsearch中的每个索引都包含多个分片,分布在不同的节点上。

2022-12-27 09:43:03 470

原创 Elasticsearch8.X入门实战(一)Elasticsearch基本概念

Elasticsearch是一个分布式的、开源的全文搜索和分析引擎,其建立在Apache Lucene的基础之上,使用Java语言编写,通过提供一套简单一致的 RESTful API隐藏了Lucene的复杂性,从而使全文检索变得非常容易。Elasticsearch将全文搜索、结构化搜索和数据分析三大功能整合在一起,能够以近实时的速度存储、搜索和分析大型数据集。

2022-12-27 09:39:15 456

原创 Spark零基础入门实战(八)Spark运行时架构

Spark有多种运行模式,可以运行在一台机器上,称为本地(单机)模式,也可以以YARN或Mesos作为底层资源调度系统以分布式的方式在集群中运行,称为Spark On YARN模式,还可以使用Spark自带的资源调度系统,称为Spark Standalone模式。本地模式通过多线程模拟分布式计算,通常用于对应用程序的简单测试。本地模式在提交应用程序后,将会在本地生成一个名为SparkSubmit的进程,该进程既负责程序的提交,又负责任务的分配、执行和监控等。

2022-12-27 09:22:04 174

原创 Spark零基础入门实战(七)Spark生态系统架构

在正式讲解Spark之前,读者首先需要了解大数据开发的总体架构,如图在大数据领域,数据的来源往往是关系型数据库、日志文件(用户在Web网站和手机App中浏览相关内容时,服务器端会生成大量的日志文件)、其他非结构化数据等。要想对这些大量的数据进行离线或实时分析,需要使用数据传输工具将其导入Hadoop平台或其他大数据集群中。数据传输工具常用的有Flume、Sqoop、Kafka。Flume是一个日志收集系统,用于将大量日志数据从许多不同的源进行收集、聚合,最终移动到一个集中的数据中心进行存储;

2022-12-27 09:14:21 72

原创 Spark零基础入门实战(六)使用IntelliJ IDEA创建Scala项目

IntelliJ IDEA(简称IDEA)是一款支持Java、Scala和Groovy等语言的开发工具,主要用于企业应用、移动应用和Web应用的开发。IDEA在业界被公认为是很好的Java开发工具,尤其是智能代码助手、代码自动提示、重构、J2EE支持等功能非常强大。

2022-12-09 17:22:31 619

原创 Spark零基础入门实战(五)使用Eclipse创建Scala项目

本节讲解在Windows中使用Scala for Eclipse IDE编写Scala程序。

2022-12-09 17:16:53 578

原创 Spark零基础入门实战(四)Scala抽象类和特质

需要注意的是,上述Teacher类中speak()方法的地址字段(address)是从父类(抽象类Person)中继承而来的。由于该字段在Person中有初始化值,不是抽象字段,若需要在Teacher类中修改该字段的值,则可以在Teacher类的构造函数或其他方法中使用this.address对其重新赋值。

2022-12-09 17:12:57 591

原创 Spark零基础入门实战(三)Scala类和对象

我们已经知道,对象是类的具体实例,类是抽象的,不占用内存,而对象是具体的,占用存储空间。Scala中一个简单的类定义是使用关键字class,类名必须大写。如果一个类不写访问修饰符,那么默认访问级别为Public,这与Java是不一样的。关键字new用于创建类的实例。单例对象Scala中没有静态方法或静态字段,但是可以使用关键字object定义一个单例对象,单例对象中的方法相当于Java中的静态方法,可以直接使用“单例对象名.方法名”方式进行调用。单例对象除了没有构造器参数外,可以拥有类的所有特性。

2022-12-09 17:05:37 456

原创 Spark零基础入门实战(二)Scala集合之元组、Set

元组是一个可以存放不同类型对象的集合,元组中的元素不可以修改。例如,定义一个元组t:也可以使用以下方式定义元组,其中Tuple3是一个元组类,代表元组的长度为3:目前,Scala 支持的元组最大长度为22,即可以使用Tuple1到Tuple22。元组的实际类型取决于元素数量和元素的类型。例如,(20,"shanghai")的类型是Tuple2[Int,String],(10,20,"beijing","shanghai","guangzhou")的类型是Tuple5[Int,Int,String

2022-12-08 10:45:27 268

原创 Spark零基础入门实战(二)Scala集合之List、Map

Scala中的List分为可变List和不可变List,默认使用的List为不可变List。不可变List也可以增加元素,但实际上生成了一个新的List,原List不变。例如,创建一个Int类型的List,名为nums,代码如下:在该List的头部追加一个元素1,生成一个新的List:在该List的尾部追加一个元素5,生成一个新的List:List也支持合并操作,例如,将两个List合并为一个新的List,代码如下:输出结果如下:此外,常用的还有二维List:2. 可变L

2022-12-08 10:36:56 227

原创 Spark零基础入门实战(二)Scala集合之数组

Scala集合分为可变集合和不可变集合。可变集合可以对其中的元素进行修改、添加、移除;而不可变集合永远不会改变,但是仍然可以模拟添加、移除或更新操作。这些操作都会返回一个新的集合,原集合的内容不发生改变。Scala中的数组分为定长数组和变长数组,定长数组初始化后不可对数组长度进行修改,而变长数组则可以修改。定义数组的同时可以初始化数据,代码如下:也可以在定义时指定数组长度,稍后对其添加数据,代码如下:(2)数组遍历可以使用for循环对数组进行遍历,输出数组所有的元素,代码如下:(3)常

2022-12-08 09:22:05 409

原创 Spark零基础入门实战(二)Scala基础之表达式和循环

Scala中常用的表达式主要有条件表达式和块表达式。条件表达式主要是含有if/else的语句块,如以下代码所示,由于if和else的返回结果同为Int类型,因此变量result为Int类型:若if与else的返回类型不一致,则变量result为Any类型:当然也可以在一个表达式中进行多次判断:2. 块表达式块表达式为包含在符号“{}”中的语句块。例如以下代码:代码中的竖线表示Scala命令行中的换行,在实际程序中不需要编写。需要注意的是,Scala中的返回值是最后一条语句的执行结

2022-12-08 09:07:09 242

原创 Spark零基础入门实战(二)Scala基础之数据类型

在Scala中,所有的值都有一个类型,包括数值和函数。如图1-4所示,说明了Scala的类型层次结构。 Any是Scala类层次结构的根,也被称为超类或顶级类。Scala执行环境中的每个类都直接或间接地从该类继承。该类中定义了一些通用的方法,例如equals()、hashCode()和toString()。Any有两个直接子类:AnyVal和AnyRef。AnyVal表示值类型,有9种预定义的值类型,它们是非空的Double、Float、Long、Int、Short、Byte、Char、Unit和Boole

2022-12-08 08:59:38 235

原创 Spark零基础入门实战(二)Scala基础之变量声明

最初学习Scala的时候建议读者在Scala命令行模式中操作,最终程序的编写可以在IDE中进行。在Windows的CMD窗口中或CentOS的Shell命令中执行scala命令,即可进入Scala的命令行操作模式。本文将在Scala的命令行操作模式中讲解Scala的基础知识。Scala中变量的声明使用关键字val和var。val类似Java中的final变量,也就是常量,一旦初始化将不可修改;var类似Java中的非final变量,可以被多次赋值,多次修改。例如,声明一个val字符串变量str:上述代

2022-12-08 08:55:44 192

原创 Spark零基础入门实战(一)Scala安装

Scala是一种将面向对象和函数式编程结合在一起的高级语言,旨在以简洁、优雅和类型安全的方式表达通用编程模式。Scala功能强大,不仅可以编写简单脚本,还可以构建大型系统。Scala运行于Java平台,Scala程序会通过JVM被编译成class字节码文件,然后在操作系统上运行。其运行时候的性能通常与Java程序不分上下,并且Scala代码可以调用Java方法、继承Java类、实现Java接口等,几乎所有Scala代码都大量使用了Java类库。由于Scala运行于Java平台,因此安装Scala之前需要确保

2022-12-05 16:33:13 292

原创 四十二、《大数据项目实战之用户行为分析》多框架整合实时分析用户行为日志数据流

本节使用Flume、Kafka、Structured Streaming、MySQL对用户行为日志数据流进行实时分析,并最终通过可视化图表展示。项目实时处理工作流程回顾图前面的系统数据流架构设计,数据的流转首先由Flume收集并转发到Kafka中,然后由Spark Streaming(此处使用Structured Streaming)实时从Kafka中读取数据并计算结果,将结果实时写入MySQL中。因此要想实现整个系统的不停运转,需要有源源不断的数据流向该系统。

2022-11-10 17:36:13 719

原创 《大数据项目实战之搜索引擎用户行为分析》

随着互联网的迅速发展,Web系统在满足大量用户访问的同时,几乎每天都在产生大量的用户行为数据(用户在使用系统时通过点击、浏览等行为产生的日志数据)及业务交互数据,通过对这些行为数据进行分析可以获取用户的浏览行为,从而挖掘数据中的潜在价值,更好地、有针对性地进行系统的运营。而随着每天日志数据上百GB的增长,传统的单机处理架构已经不能满足需求,此时就需要使用大数据技术并行计算来解决。本系列文章从0到1手把手讲解如何使用大数据技术对搜索引擎海量用户搜索日志数据进行用户行为分析。统计一天中上网用户最多的时间段。

2022-11-07 12:20:18 343

原创 四十一、《大数据项目实战之用户行为分析》使用ECharts进行前端视图展示

ECharts是一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE9/10/11,Chrome,Firefox,Safari等),提供直观、交互丰富、可高度个性化定制的数据可视化图表。本节在前面已经集成了WebSocket功能的SpringBoot项目“user_analyse_web”的基础上继续进行完善,集成ECharts可视化库,在浏览器中以柱形图的方式实时展示数据。具体操作步骤如下。

2022-11-07 11:59:30 489

原创 四十、《大数据项目实战之用户行为分析》SpringBoot项目集成WebSocket实时推送最新数据

WebSocket是基于TCP的一种新的网络协议。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就可以直接创建持久性的连接,并进行双向数据传输。WebSocket的工作流程如图。

2022-11-07 11:41:20 834

原创 三十九、《大数据项目实战之用户行为分析》IDEA搭建基于SpringBoot的Web项目

在IDEA中新建Maven项目,选择“maven-archetype-quickstart”项目原型,单击【Next】按钮,如图在新窗口中填写项目名称“user_analyse_web”、项目在本地的存放路径,如图在新窗口中选择本地Maven的settings.xml配置文件所在的位置以及本地仓库的路径,如图创建完成后的Maven项目目录结构如图。

2022-11-07 11:30:59 382

转载 《Hadoop3.X大数据开发实战(视频教学版)》新书来啦

第3~16章讲解Hadoop生态系统各框架HDFS、MapReduce、YARN、ZooKeeper、HBase、Hive、Sqoop和数据实时处理系统Flume、Kafka、Storm、Spark以及分布式搜索系统Elasticsearch等的基础知识、架构原理、集群环境搭建,同时包括常用的Shell命令、API操作、源码剖析,并通过案例演示了各个框架的实际应用。读者即使没有任何大数据基础,通过阅读本书,也可以对照书中的步骤成功搭建属于自己的大数据集群并独立完成项目开发。

2022-11-05 15:32:00 17

原创 三十八、《大数据项目实战之用户行为分析》Structured Streaming输出计算结果到MySQL

本篇文章在上一篇的基础上继续进行完善,使用Structured Streaming实时处理Kafka中的单词数据,并将处理结果写入到MySQL中。处理流程如图。

2022-10-25 12:23:44 632

原创 三十七、《大数据项目实战之用户行为分析》Structured Streaming消费Kafka数据实现单词计数

Structured Streaming可以作为消费者与Kafka整合,实时读取Kafka中的数据进行处理。Structured Streaming与Kafka整合,需要Kafka的版本在0.10.0以上。时间戳的类型,取值0和1。目前Kafka支持的时间戳类型有两种:0表示 CreateTime,即生产者创建这条消息的时间;使用option()指定Kafka的连接属性,常用的连接属性解析如表。可以看到,最新批次的输出结果在上一批次结果的基础上进行了累加。上述依赖库中的2.12指的是Scala的版本。

2022-10-25 12:14:52 465

原创 三十六、《大数据项目实战之用户行为分析》Spark Streaming整合Kafka计算实时单词数量

Kafka在0.8和0.10版本之间引入了一个新的消费者API,Spark针对这两个版本有两个单独对应的Spark Streaming包可用,分别为spark-streaming-kafka-0-8和spark-streaming-kafka-0-10。需要注意的是,前者兼容Kafka 0.8、0.9、0.10,后者只兼容Kafka 0.10及之后的版本。

2022-10-25 12:09:50 457

原创 三十五、《大数据项目实战之用户行为分析》Spark Streaming按批次累加单词数量

本例使用Spark Streaming实现一个完整的按批次累加的实时单词计数程序。

2022-10-25 12:03:42 494

原创 三十四、《大数据项目实战之用户行为分析》Spark SQL热点搜索词统计

本例根据用户上网的搜索记录对每天的热点搜索词进行统计,以了解用户所关心的热点话题。本例的数据转化流程如图。

2022-10-19 17:16:53 101

原创 三十三、《大数据项目实战之用户行为分析》Spark SQL读写MySQL

本例讲解使用Spark SQL的JDBC API读取MySQL数据库中的表数据,并将DataFrame中的数据写入MySQL表中。Spark集群仍然使用Standalone模式。

2022-10-19 17:13:43 412 1

原创 三十二、《大数据项目实战之用户行为分析》Spark SQL操作Hive的几种方式

除了在启动Spark Shell时指定数据库的驱动jar外,还可以将驱动jar提前复制到$SPARK_HOME/jars目录中,Spark Shell启动时会自动加载该目录中的jar到classpath中。在IDEA中编写Spark SQL操作Hive的应用程序,然后将编写好的应用程序打包为jar,提交到Spark集群中运行,即可对Hive进行数据的读写与分析。此时查看HDFS的数据仓库目录,可以看到,在数据仓库目录中生成了一个文件夹student,表student的数据存放于该文件夹中,如图。

2022-10-19 17:06:48 283

原创 三十一、《大数据项目实战之用户行为分析》Spark SQL与Hive整合

Hive是一个基于Hadoop的数据仓库架构,使用SQL语句读、写和管理大型分布式数据集。Hive可以将SQL语句转化为MapReduce(或Apache Spark、Apache Tez)任务执行,大大降低了Hadoop的使用门槛,减少了开发MapReduce程序的时间成本。可以将Hive理解为一个客户端工具,其提供了一种类SQL查询语言,称为 HiveQL。这使得Hive十分适合数据仓库的统计分析,能够轻松使用HiveQL开启数据仓库任务,如提取/转换/加载(ETL)、分析报告和数据分析。

2022-10-19 17:01:27 417 1

原创 三十、《大数据项目实战之用户行为分析》Spark SQL实现单词计数

创建方法是使用SparkSession.builder()创建一个Builder类型的构建器,然后调用Builder的getOrCreate()方法获取已有的SparkSession对象。可以直接在IDEA中运行上述单词计数程序,也可以将master("local[*]")中的local[*]改为Spark集群的Master地址,然后提交到Spark集群中运行。接下来可以执行SQL命令了。可以看出,lines Dataset将单词文件中的每一行看作一个元素,并且所有元素组成了一列,列名默认为value。

2022-10-19 16:54:18 258

原创 二十九、《大数据项目实战之用户行为分析》Spark3.X分布式集群搭建

访问Spark官网(http://spark.apache.org/downloads.html)下载预编译的Spark安装包,选择Spark版本为3.2.1,包类型为Pre-built for Apache Hadoop 3.3 and later(Hadoop 3.3及之后版本的预编译版本)。将下载的安装包spark-3.2.1-bin-hadoop3.2.tgz上传到centos01节点的/opt/softwares目录,然后进入该目录,执行以下命令,将其解压到目录/opt/modules中。

2022-10-19 16:48:20 211

原创 二十八、《大数据项目实战之用户行为分析》Hive集成HBase分析搜索引擎用户行为数据

我们已经知道,HBase数据库没有类SQL的查询方式,因此在实际的业务中操作和计算数据非常不方便。而Hive支持标准的SQL语法(HiveQL),若将Hive与HBase集成,则可以通过HiveQL直接对HBase的表进行读写操作,让HBase支持JOIN、GROUP等SQL查询语法,完成复杂的数据分析。甚至可以通过连接和联合将对HBase表的访问与Hive表的访问结合起来进行统计与分析。

2022-10-15 20:11:45 260

原创 二十七、《大数据项目实战之用户行为分析》Hive分析搜索引擎用户行为数据

本节讲解使用Hive对搜索引擎用户行为日志进行分析,具体操作步骤如下。

2022-10-15 20:01:24 540

原创 二十六、《大数据项目实战之用户行为分析》Hive表操作

Hive的表由实际存储的数据和元数据组成。实际数据一般存储于HDFS中,元数据一般存储于关系型数据库中。

2022-10-15 17:59:42 328

JAVA健康档案管理系统源码

JAVA健康档案管理系统源码,包括数据库、论文、开题报告等。

2023-01-14

进入IT企业必会的Java笔试面试题卷四(含答案)

进入IT企业必会的Java笔试面试题卷四(含答案)

2023-01-14

进入IT企业必会的Java笔试面试题卷三(含答案)

进入IT企业必会的Java笔试面试题卷三(含答案)

2023-01-14

进入IT企业必会的Java笔试面试题卷二(含答案)

进入IT企业必会的Java笔试面试题卷二(含答案)

2023-01-14

进入IT企业必会的Java笔试面试题卷一(含答案)

进入IT企业必会的Java笔试面试题卷一(含答案)

2023-01-14

小学生教学课件PPT模板.pptx

小学生教学课件PPT模板,画面精美好看,适合学生、儿童类的PPT教学模板。

2021-12-29

大话企业级Android开发_数据库

大话企业级android开发的数据库电子版,内容详尽,从故事的两位主人公的谈话中领略android的奥妙,绝对超值。其中详解了android数据库的增删改查的实现,及如何测试等

2011-10-17

深入浅出Android绝密完整版

深入浅出Android绝密完整版,适合android开发者随时查阅的完整书籍,书中案例详细,代码清晰

2011-09-29

jquery技术文档

jquery技术文档,非常全面,适合所有开发者的查阅

2011-09-29

jqueryAPI技术文档

jqueryAPI技术文档,非常全面,代码清晰易懂

2011-09-29

Ext_3.0_中文帮助文档

Ext_3.0_中文帮助文档,内容由专业人士翻译,界面美观,内容详细,非常全面

2011-09-29

javascript特效参考手册(绝对完整)

javascript特效参考手册,绝对完整,大量网站常用特效都包含在内,内容全面详细

2011-09-29

JavaScript语言参考手册

JavaScript语言参考手册,非常全面

2011-08-13

Oracle9iCHM帮助文档

Oracle9iCHM帮助文档,非常全面

2011-08-13

CSS3.0完全参考手册

CSS3.0完全参考手册,详细讲解每一个css属性

2011-08-13

java面试题大全,最新收集

涵盖java最近真实的企业面试题,很全面

2011-08-13

C#一期结业选择题ppt

C#一期结业选择题,超值,涵盖基本内容, 例:在 C# 中可用作程序变量名的一组标识符是()。

2010-10-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除