- 博客(48)
- 收藏
- 关注
原创 [C++]一、C++基础编程
G:\Cpp\2023版C++教程C++语言程序设计第一部分基础篇一、什么是C++1.1 C++ 简介C++ 是一门非常经典的高级编程语言。顾名思义,C++可以看做是C语言的增强版,在C的基础上扩展了更多的功能;最主要的扩展,就是面向对象和泛型编程。因此C++融合了多种不同的编程方式:以C语言为代表的面向过程编程;面向对象编程;以及模板化的泛型编程。可以说,C++一门“大而全”的编程语言,你可以用它实现想要的任何功能;与此同时,学习C++需要掌握的内容也会比较多。1.1.1
2024-08-26 00:18:12
608
原创 [C语言]一、C语言基础(文件操作)
文件,对我们并不陌生,文件是数据源(保存数据的地方)的一种,比如大家经常使用的word文档,txt文件,excel文件,avi文件...都是文件。文件最主要的作用就是保存数据,它既可以保存一张图片,也可以保持视频,声音...C程序中,对于文件中数据的输入/输出操作以“流(stream)” 的方式进行,可以看做是一种数据的流动。输入流:数据从数据源(比如:文件)到程序(或内存)的流动过程。输出流:数据从程序(或内存)到数据源(比如:文件)的流动过程。
2024-08-25 23:49:45
590
原创 [C语言]一、C语言基础(常用函数)
p="ABCDE";这样做以后,数组变量的地址还是不变的,即 strcpy() 只是在原地址写入新的字符串,而不是让数组变量指向新的地址。【解析】首先该程序符合语法规则,因此不会编译时产生错误,其次字符数组str1和str2都为指针常量,将他们直接用关系运算符进行比较肯定是不相等的,但是它们所指的字符串是相等的,因此最后输出Unequal。strncat() 总是会在拼接结果的结尾,自动添加空字符′\0′ ,所以第三个参数的最大值,应该是 str1 的变量长度减去 str1 的字符串长度,再减去 1。
2024-08-25 23:46:04
749
原创 [C语言]一、C语言基础(结构体与共用体)
有时需要一种数据结构,不同的场合表示不同的数据类型。比如,如果只用一种数据结构表示学生的“成绩”,这种结构就需要有时是整数(80、90),有时是字符('A'、'B'),又有时是浮点数(80.5、60.5)。C 语言提供了共用体类型(Union 结构),用来自定义可以灵活变更的数据结构。它内部可以包含各种属性,但同一时间只能有一个属性,因为所有属性都保存在同一个内存地址,后面写入的属性会覆盖前面的属性。这样做的最大好处是节省内存空间。“共用体”与“结构体”的定义形式相似,但它们的含义是不同的。
2024-08-25 23:39:14
359
原创 [C语言]一、C语言基础(续)
计算机中程序的运行都是在内存中进行的,变量也是在内存中分配的空间,且不同类型的变量占用不同大小的空间。那如何访问内存中变量存储的数据呢?有两种方式:`直接访问`和`间接访问`。直接访问,直接使用变量名进行的访问,以前的程序中都是采用这种方式。间接访问,通过指针来实现。下面看如何理解指针。**一般格式:**```数据类型 *指针变量名 [=初始地址值];```- 数据类型是指针变量所指向变量数据类型。可以是 int、char、float 等基本类型,也可以是数组等构造类型。
2024-08-25 16:29:22
337
原创 [C语言]一、C语言基础
Code::Block是一个免费的跨平台IDE,它支持C、C++和Fortan程序的开发。Code::Block的最大特点是它支持通过插件的方式对IDE自身功能进行扩展,这使得Code::Block具有很强的灵活性,方便用户使用。Visual C++ 2010,简称VC2010,是由微软开发的独立的、免费的 C/C++ 编译工具,与Visual Basic等并列,最后微软将它们整合在一起组成了Visual Studio。
2024-08-25 14:20:42
297
原创 [数仓]十六、数仓同步工具(DataX)-- 离线(v6.0)
通常情况下,离线数据同步任务需要每日定时重复执行,故HDFS上的目标路径通常会包含一层日期,以对每日同步的数据加以区分,也就是说每日同步数据的目标路径不是固定不变的,因此DataX配置文件中HDFS Writer的path参数的值应该是动态的。为实现这一效果,就需要使用DataX传参的功能。DataX的使用十分简单,用户只需根据自己同步数据的数据源和目的地选择相应的Reader和Writer,并将Reader和Writer的信息配置在一个json文件中,然后执行如下命令提交数据同步任务即可。
2024-08-12 02:37:03
742
原创 [数仓]十五、数仓数据同步策略 -- 离线(v6.0)
按照规划,该Flume需将Kafka中topic_log的数据发往HDFS。并且对每天产生的用户行为日志进行区分,将不同天的数据发往HDFS不同天的路径。此处选择KafkaSource、FileChannel、HDFSSink。
2024-08-12 02:06:47
719
原创 [数仓]十四、数仓同步工具(Maxwell)-- 离线(v6.0)
Maxwell 是由美国Zendesk公司开源,用Java编写的MySQL变更数据抓取软件。它会实时监控MySQL数据库的数据变更操作(包括insert、update、delete),并将变更数据以 JSON 格式发送给 Kafka、Kinesi等流数据处理平台。
2024-08-12 01:35:48
826
原创 [云原生]五、Kubernetes(1.28.2)
Kubernetes 部署集群1.28.2版本(无坑) - smx886 - 博客园 (cnblogs.com)
2024-08-04 01:04:51
120
原创 [云原生]三、Kubernetes(1.18)
容器占用资源少、部署快,每个应用可以被打包成一个容器镜像,每个应用与容器间成一对一关系也使容器有更大优势,使用容器可以在 build 或 release 的阶段,为应用创建容器镜像,因为每个应用不需要与其余的应用堆栈组合,也不依赖于生产环境基础结构,这使得从研发到测试、生产能提供一致环境。这样做的缺点是应用的运行、配置、管理、所有生存周期将与当前操作系统绑定,这样做并不利于应用的升级更新/回滚等操作,当然也可以通过创建虚拟机的方式来实现某些功能,但是虚拟机非常重,并不利于可移植性。
2024-08-02 01:08:15
745
原创 [计算机基础]一、计算机组成原理
(一) 计算机系统层次结构计算机系统的基本组成计算机硬件的基本结构计算机软件和硬件的关系计算机系统的工作原理“存储程序"工作方式,高级语言程序与机器语言程序之间的转换,程序和指令的执行过程。(二)计算机性能指标吞吐量、响应时间;CPU时钟周期、主频、CPI、CPU执行时间;MIPS:百万指令每秒(Million Instructions Per Second),是一个用来衡量计算机性能的单位。它表示一台计算机每秒钟能够执行的百万条机器指令的数量。
2024-07-17 02:14:29
1161
原创 [K8S]一、Flink on K8S
kubectl describe deployment flink-jobmanager --- 查看某个部署的pod 运行的详细信息,如果有问题会有报错信息打印。kubectl get all -o wide --- 查看所有部署的详细信息。kubectl get cm -- 获取所有的configmap 配置文件。kubectl logs pod_name -- 查看某个pod的日志。先编辑好这5个配置文件,然后再直接执行。
2024-07-14 23:06:10
365
原创 [数仓]十三、离线数仓(数据质量管理)
本文使用Python和Shell脚本实现数据质量监控的各项功能,故需先搭建相应的开发环境,Python开发可选择IDEA(需安装Python插件),或PyCharm等工具,本文使用IDEA作为开发工具。(2)点击“Plugins”,点击右上角的“Marketplace”,然后在搜索框中输入“python”,在搜索结果列表中找到Python插件,点击“Install”,安装插件。(1)点击Idea中的“File”,在下列列表中点击“New”,在右侧弹出的列表中点击“Project…
2024-07-13 01:57:56
709
原创 [数仓]十二、离线数仓(Atlas元数据管理)
发现此时并未出现期望的血缘依赖,原因是Atlas是根据Hive所执行的SQL语句获取表与表之间以及字段与字段之间的依赖关系的,例如执行insert into table_a select * from table_b语句,Atlas就能获取table_a与table_b之间的依赖关系。本文只包含Solr和Atlas的安装指南,其余所依赖服务的安装请参考前边章节。2.修改Hive配置文件,在/opt/module/hive/conf/hive-site.xml文件中增加以下参数,配置Hive Hook。
2024-07-13 01:33:49
925
原创 [数仓]十一、离线数仓(Ranger权限管理)
Apache Ranger是一个Hadoop平台上的全方位数据安全管理框架,它可以为整个Hadoop生态系统提供全面的安全管理。随着企业业务的拓展,企业可能在多用户环境中运行多个工作任务,这就需要一个可以对安全策略进行集中管理,配置和监控用户访问的框架。Ranger由此产生!Ranger的官网:https://ranger.apache.org/
2024-07-09 23:55:18
838
原创 [数仓]十、离线数仓(安全集群实战)
1.新建/opt/module/presto/etc/access-control.properties配置文件,内容如下。1.在/opt/module/presto/etc/catalog/hive.properties中增加以下参数。2.分发/opt/module/presto/etc/catalog/hive.properties文件。2. 新建/opt/module/presto/etc/rules.json文件,内容如下。
2024-07-09 23:33:45
1196
原创 [数仓]九、离线数仓(Kerberos用户认证)
为执行创建主体的语句,需登录Kerberos 数据库客户端,登录之前需先使用Kerberos的管理员用户进行认证,执行以下命令并根据提示输入密码。3)Rrincipal:Kerberos所管理的一个用户或者一个服务,可以理解为Kerberos中保存的一个账号,其格式通常如下:primary。为服务创建的主体,需要通过密钥文件keytab文件进行认证,故需为各服务准备一个安全的路径用来存储keytab文件。为Hadoop开启Kerberos,需为不同服务准备不同的用户,启动服务时需要使用相应的用户。
2024-07-09 00:40:38
573
原创 [数仓]八、离线数仓(zabbix集群监控)
Zabbix使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警。基于已存储的数据,Zabbix提供了出色的报告和数据可视化功能。1.为方便展示效果,在Zabbix中为hadoop102主机应用一个Zabbix内置的Linux系统监控模板。2)点击模板,搜索linux,并选择Template OS Linux by Zabbix agent。一个被用于定义问题阈值和“评估”监控项接收到的数据的逻辑表达式。一个对事件做出反应的预定义的操作,比如邮件通知。你想要接收的主机的特定数据,一个度量数据。
2024-07-08 23:24:53
1028
原创 [数仓]七、离线数仓(Presto&Kylin即席查询)
第1章 Presto1.1 Presto简介1.1.1Presto概念1.1.2 Presto架构
2024-07-08 07:45:49
242
原创 [数仓]六、离线数仓(Superset可视化报表)
conda是一个开源的包、环境管理器,可以用于在同一个机器上安装不同Python版本的软件包及其依赖,并能够在不同的Python环境之间切换,Anaconda包括Conda、Python以及一大堆安装好的工具包,比如:numpy、pandas等,Miniconda包括Conda、Python。Apache Superset是一个开源的、现代的、轻量级BI分析工具,能够对接多种数据源、拥有丰富的图表展示形式、支持自定义仪表盘,且拥有友好的用户界面,十分易用。安装Superset之前,需安装以下所需依赖。
2024-07-08 01:35:49
885
原创 [数仓]四、离线数仓(Hive数仓系统-续)
此处要求统计新增留存率,新增留存率具体是指留存用户数与新增用户数的比值,例如2020-06-14新增100个用户,1日之后(2020-06-15)这100人中有80个人活跃了,那2020-06-14的1日留存数则为80,2020-06-14的1日留存率则为80%。该需求要求统计最近30日发布的所有优惠券的领用情况和补贴率,补贴率是指,优惠金额与使用优惠券的订单的原价金额的比值。该需求要求统计最近30日发布的所有活动的参与情况和补贴率,补贴率是指,优惠金额与参与活动的订单原价金额的比值。
2024-07-08 01:16:25
613
原创 [数仓]五、离线数仓(Azkaban部署)
1)将azkaban-db-3.84.4.tar.gz,azkaban-exec-server-3.84.4.tar.gz,azkaban-web-server-3.84.4.tar.gz上传到hadoop102的/opt/software路径。3)解压azkaban-db-3.84.4.tar.gz、 azkaban-exec-server-3.84.4.tar.gz和azkaban-web-server-3.84.4.tar.gz到/opt/module/azkaban目录下。
2024-07-08 00:59:53
540
原创 [数仓]三、离线数仓(Hive数仓系统)
Hive引擎包括:默认MR、tez、sparkHive on Spark:Hive既作为存储元数据又负责SQL的解析优化,语法是HQL语法,执行引擎变成了Spark,Spark负责采用RDD执行。Spark on Hive: Hive只作为存储元数据,Spark负责SQL解析优化,语法是SparkSQL语法,Spark负责采用RDD执行。
2024-07-08 00:02:39
864
原创 [数仓]二、离线数仓(业务数据采集)
电商的业务流程可以以一个普通用户的浏览足迹为例进行说明,用户点开电商首页开始浏览,可能会通过分类查询也可能通过全文搜索寻找自己中意的商品,这些商品无疑都是存储在后台的管理系统中的。当用户寻找到自己中意的商品,可能会想要购买,将商品添加到购物车后发现需要登录,登录后对商品进行结算,这时候购物车的管理和商品订单信息的生成都会对业务数据库产生影响,会生成相应的订单数据和支付数据。订单正式生成之后,还会对订单进行跟踪处理,直到订单全部完成。
2024-07-07 18:03:17
1015
原创 [数仓]一、离线数仓(日志数据采集)
G:\Bigdata\Projects\电商数仓4.0数据仓库( Data Warehouse ),是为企业制定决策,提供数据支持的。可以帮助企业,改进业务流程、提高产品质量等。和等就是各行业在处理事务过程中产生的数据。比如用户在电商网站中登录、下单、支付等过程中,需要和网站后台数据库进行增删改查交互,产生的数据就是业务数据业务数据通常存储在MySQL、Oracle等数据库中。:用户在使用产品过程中,通过埋点收集与客户端产品交互过程中产生的数据,并发往日志服务器进行保存。
2024-07-06 02:09:50
1422
原创 [Flink]三、Flink1.13
11. Table API 和 SQL 如图 11-1 所示,在 Flink 提供的多层级 API 中,核心是 DataStream API,这是我们开发流 处理应用的基本途径;底层则是所谓的处理函数(process function),可以访问事件的时间信 息、注册定时器、自定义状态,进行有状态的流处理。DataStream API 和处理函数比较通用, 有了这些 API,理论上我们就可以实现所有场景的需求了。 不过在企业实际应用中,往往会面对大量类似的处理逻辑,所以一般会将底层 AP
2024-07-05 00:18:48
443
原创 [Flink]一、Flink1.13
1. Flink简介1.1 Flink的起源和设计理念flink项目的核心目标:数据流上的有状态计算(Stateful Computations over Data Streams)。时间驱动:来一个事件处理一个事件;流处理的流水线;流&批数据分析具体定位是:Apache Flink 是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算。Flink 被设计在所有常见的集群环境中运行,以内存执行速度和任意规模来执行计算。1.2 Flink的应用。
2024-07-01 02:25:02
864
原创 [Spark]三、SparkSQL
与基本的Spark RDD API不同,Spark SQL提供的接口为Spark提供了有关数据结构和正在执行的计算的更多信息。在内部,Spark SQL使用这些额外的信息来执行额外的优化。当我们使用spark-shell的时候,Spark框架会自动的创建一个名称叫做Spark的SparkSession,就像我们以前可以自动获取到一个sc来表示SparkContext。SparkSQL读取和保存的文件一般为三种,JSON文件、CSV文件和列式存储的文件,同时可以通过添加参数,来识别不同的存储和压缩格式。
2024-06-19 01:21:22
782
原创 [Spark]二、SparkCore
RDD的Lineage会记录RDD的元数据信息和转换行为,当该RDD的部分分区数据丢失时,它可以根据这些信息来重新运算和恢复丢失的数据分区。在实际开发中我们往往需要自己定义一些对于RDD的操作,那么此时需要注意的是,初始化工作是在Driver端进行的,而实际运行程序是在Executor端进行的,这就涉及到了跨进程通信,是需要序列化的。第1个job执行完,数据就保存到Cache里面了,第2个job运行checkpoint,直接读取Cache里面的数据,并把数据存储在检查点上。Spark的排序结果是全局有序。
2024-06-19 00:51:18
554
原创 [Spark]一、Spark基础入门
Spark得到了众多大数据公司的支持,这些公司包括Hortonworks、IBM、Intel、Cloudera、MapR、Pivotal、百度、阿里、腾讯、京东、携程、优酷土豆。目的:点击yarn(8088)上spark任务的history按钮,进入的是spark历史服务器(18080),而不再是yarn历史服务器(19888)。# 参数3含义:指定保存Application历史记录的个数,如果超过这个值,旧的应用程序信息将被删除,这个是内存中的应用数,而不是页面上显示的应用数。
2024-06-18 02:09:28
1213
原创 [Hive]二、常用函数大全
语法:A + B 操作类型:所有数值类型 说明: 返回A与B相加的结果。结果的数值类型等于A的类型和B的类型的最小父类型(详见数据类型的继承关系)。比如,int + int 一般结果为int类型,而 int + double 一般结果为double类型hive> select 1 + 9 from iteblog;10hive> create table iteblog as select 1 + 1.2 from iteblog;hive> describe iteblog;_
2024-05-28 21:51:50
579
原创 [Hive]一、大数据技术之Hive
Hive是由Facebook开源,基于Hadoop的一个数据仓库工具,可以将结构化的数据映射为一张表,并提供类SQL查询功能。 Hive的本质是一个Hadoop客户端,用于将HQL(HiveSQL)转化成MapReduce程序。 (1)Hive中每张表的数据存储在HDFS (2)Hive分析数据底层的实现是MapReduce(也可以配置为Spark或者Tez引擎) (3)执行程序运行在Yarn上(1)Hive客户端:CLI(command-line i
2024-05-22 01:09:26
1548
原创 [Java] 学习大纲
1. 面向对象核心编程思想在开发中的代码设计。2. 在开发中异常处理方案,异常处理的时机。4. 多线程以及线程安全在实际中的正确使用。7. 软件架构和网络编程在实际中的开发使用。5. 集合框架的使用以及源码的深度分析。6.IO流的使用以及数据传输的数据分析。3. 如何使用API以及字符串的处理。8. 正则表达式使用以及常用设计模式。10. 反射的快速掌握以及注解开发。
2024-05-12 23:13:00
156
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人