大数据系统与大规模数据分析
文章平均质量分 75
程哥哥吖
路虽远,行则将至;事虽难,做则必成。
展开
-
国科大图数据管理与分析课程项目gStore实验报告
**任务二**编写sparql语言实现多层股权的穿透式查询,可以根据指定层数获得对应层级的股东,例如输入“招商局轮船股份有限公司””和层数3,就会把“招商局轮船股份有限公司”所对应公司所有三层以内的公司找出来。本数据集是一部分清洗好的股东持股关系三元组数据jinrong.nt文件,主语是公司的名称,宾语是股东的名称,在使用时需要先上传到gStore云端。**任务三**编写sparql语言实现环形持股查询,判断两家公司是否存在环形持股现象,环形持股是指两家公司彼此持有对方的股份。......原创 2022-07-21 00:19:23 · 1146 阅读 · 1 评论 -
湖仓一体技术调研(Apache Hudi、Iceberg和Delta lake对比)
作者:程哥哥、刘某迎 、杜某安、刘某、施某宇、严某程 随着当前的大数据技术逐步革新,企业对单一的数据湖和数仓架构并不满意。越来越多的企业开始融合数据湖和数据仓库的平台,不仅可以实现数据仓库的功能,还实现了各种不同类型数据的处理功能、数据科学、用于发现新模型的高级功能,这就是所谓的"湖仓一体"。湖仓一体(Data LakeHouse)是一种新型开放式架构,将数据湖和数据仓库的优势充分结合,它构建在数据湖低成本的数据存储架构之上,又继承了数据仓库的数据处理和管理功能。作为新一代大数据技术架构,将逐渐取代单一原创 2022-06-11 14:53:37 · 3398 阅读 · 0 评论 -
分布式图计算系统与算法简单文献综述
引言图作为计算机领域一个很重要的数据结构,很多软件算法都是基于图来实现的,随着人们对算力要求的越来越高,硬件算力也已到达瓶颈,单机的图计算系统已经不能满足巨大的计算需求,因此,分布式图计算系统的研究也变得越来越火热。本文简单介绍了当前主流分布式图计算系统和算法的发展历程,并对比了不同分布式图计算框架的优缺点及差异,文章最后在分布式图计算系统与算法领域作了简要总结。......原创 2022-07-22 11:43:13 · 1195 阅读 · 0 评论 -
大数据运算系统(三)
1. 内存通用大数据运算系统:Spark可以从HDFS读数据,但是运算中数据放在内存中,不使用Hadoop,而是新实现了分布式的处理目标是低延迟的分析操作MapReduce 的问题:通过HDFS进行作业间数据共享,代价太高Spark 的思路:1. 内存容量越来越大 2. 把数据放入多台机器的内存 3. 避免HDFS开销spark基础数据结构: RDD: 1. 一个数据集 2. 只读,整个数据集创建后不能修改 3. 通常进行整个数据集的运算 优点:并发控制被简化了;可以原创 2022-05-27 19:43:00 · 250 阅读 · 0 评论 -
大数据运算系统(二)
1. 大数据系统比较2. 图计算系统:GAS模型Power‐Law 引起的问题:图划分之间有大量的跨边,需要传输大量的消息PowerGraph:把单一的Compute()分成三个用户函数GAS来实现:Gather、Apply、ScatterGAS具体实现:Gather ,收消息求局部和,Gather,局部和**->**全局和具体实现:Apply,在主顶点更新PageRank具体实现: Scatter,发送消息总结:针对Power‐law图中跨边很多的问题,P原创 2022-05-26 10:36:49 · 145 阅读 · 0 评论 -
大数据运算系统(一)
1 .MapReduce/Hadoop 简介MapReduce是目前云计算中最广泛使用的计算模型,Hadoop是MapReduce的一个开源实现解决思路:1. 程序员写串行程序 2. 由系统完成并行分布式地执行程序员保证串行程序的正确性:1. 编程序时不需要思考并行的问题 2. 调试时只需要保证串行执行正确系统负责并行分布执行的正确性和效率缺点:1. 直接进行并行分布式编程,可以完成各种各样丰富的功能 2. 而一个编程模型实际上是限定了程序的功能类型MapReduce:M原创 2022-05-25 12:17:09 · 452 阅读 · 0 评论 -
大数据存储系统学习笔记(二)
1. CassandraCassandra可以看作是Dynamo和Bigtable的结合体2. ZooKeeper开源分布式协调系统,Hadoop/HBase环境的一部分目前广泛应用于分布式系统对于master节点的容错,使用多台机器运行master节点,一台为主,其余为备份,当主master出现故障,某台备份可以成为主master多个ZooKeeper维护一组共同的数据状态,支持分布式的读和写操作2f+1个ZooKeeper节点可以容忍f个节点故障,仍然正确ZooK原创 2022-05-24 20:13:13 · 235 阅读 · 0 评论 -
大数据存储系统学习笔记(一)
1. NFS设计目标:服务器出现故障,可以简单快速地恢复NFS Server不保持任何状态,每个操作都是无状态的如果NFS崩了,只用重启,什么额外操作都不用,因为每个操作无状态NFSv2 对于 Cache Consistency 的解决方法在文件关闭时,必须把缓存的已修改的文件数据,写回NFS Server发送GETATTR请求,获得最新的文件属性;比较文件修改时间缺点:1. 大量的GETATTR(即使文件只被一个client缓存) 2. 关闭文件时写回文件2. AF原创 2022-05-23 17:44:40 · 444 阅读 · 0 评论 -
数据库管理系统学习笔记
数据库管理系统学习笔记1. 数据的四个基本概念数据 数据是数据库中存储的基本对象,描述事物的符号记录称为数据。数据的含义称为数据的语义,数据与其语义是不可分的。数据库(DB) 是长期储存在计算机内、有组织的、可共享的大量数据的集合数据库管理系统(DBMS) DBMS是一个大型复杂的基础软件系统,位于用户与操作系统之间的一层数据管理软件。DBMS能够科学地组织和存储数据、高效地获取和维护数据。 DBMS具有数据定义(提供数据库定义语言DDL),数据组织、存储和管理(原创 2022-05-22 20:03:49 · 350 阅读 · 0 评论 -
推荐系统学习笔记
推荐系统学习笔记参考:https://www.bilibili.com/video/BV17E411B7vr?spm_id_from=333.337.search-card.all.clickhttps://blog.csdn.net/qq_45301231/article/details/1220891001. 基于内容的推荐算法基于内容的推荐算法的本质是对内容进行分析,建立特征。一般而言都是对物品进行有关内容的分类,例如电影、书籍、商品等,通过提取这些物品的内容属性或历史评分也或是操作记录,原创 2022-05-21 13:15:07 · 576 阅读 · 0 评论 -
SVD与CUR自我总结
SVD与CUR自我总结参考:https://www.cnblogs.com/endlesscoding/p/10033527.html https://blog.csdn.net/WangWeb1998/article/details/1143762981. SVD(奇异值分解)定义:有一个m×nm\times nm×n的实数矩阵A,我么想要把它分解成如下形式:其中UUU和VVV均为单位正交阵,即有UUT=IUU^T=IUUT=I和VVT=IVV^T=IVVT=I,UUU称为左奇异矩阵,V原创 2022-05-20 19:42:21 · 616 阅读 · 0 评论 -
数据仓库、数据湖、湖仓一体化技术简单自我总结
数据仓库、数据湖、湖仓一体化技术简单自我总结参考:https://www.aliyun.com/activity/bigdata/maxcompute-lakehouse1. 数据仓库为了进行OLAP,把分布在各个散落独立的数据库孤岛整合在了一个数据结构里面,称之为数据仓库数据仓库是一个功能概念,是将企业的各业务系统产生的基础数据,通过维度建模的方式,将业务数据划分为多个主题(集市)统一存储,统一管理。主要存储结构化数据。应用场景:一般都是作为商业智能系统、数据仪表盘等可视化报表服务的数据源。原创 2022-05-13 20:54:56 · 851 阅读 · 0 评论 -
大数据分析课程第三次作业(最大密度子图)
大数据分析课程第三次作业(最大密度子图) 参考:《胡伯涛: 最小割模型在信息学竞赛中的应用》一、作业题:二、答案:测试数据集:bio-CE-GT.txt,数据集来源:https://networkrepository.com/bio-CE-GT.php运行结果如下:可运行代码如下(点击可打开):#include<iostream>#include<cstring>#include<cmath>#include<algori原创 2022-05-13 16:11:23 · 2209 阅读 · 0 评论 -
国科大大数据分析课程第二次作业(NER和LSI)
一、LSI算法已知词项文档矩阵 C= 利用LSI算法,求词项与文档各自的3维表示。解:将词项文本矩阵进行奇异值分解进行潜在语义分析:得到话题空间,以及文本在话题空间的表示代码:import numpy as npfrom numpy import linalg as lafrom numpy import matif __name__=="__main__": X = mat([[1, 0, 1, 0, 0, 0], [0, 1, 0, 0, 0, 0], [1, 1, 0原创 2022-05-13 00:03:55 · 924 阅读 · 6 评论 -
国科大大数据分析课程第一次作业(SVD降维)
一、RandomForest 与 GBDT 的共同点与区别:注:本人不是很了解随机森林和梯度提升决策树,遂在B站上看了几个关于RF和GBDT的视频解说,之后看到了一篇博客,觉得总结的很全面,以下内容均参考至https://blog.csdn.net/aaa_aaa1sdf/article/details/81391735训练集选取:随机森林采用的Bagging思想,而GBDT采用的Boosting思想。这两种方法都是Bootstrap思想的应用,Bootstrap是一种有放回的抽样方法思想。虽然都是有放原创 2022-05-12 23:46:49 · 942 阅读 · 2 评论 -
大数据系统与大规模数据分析学习笔记(相似度计算)
大数据系统与大规模数据分析学习笔记(相似度计算) 寻找相似项过程:1. Jaccard相似度 定义 Jaccard 相似度计算公式:J(A,B)=(A交B)/(A并B)2. shingling将文档用短字符集合来表示2.1 k-shinglecharacter 级别:包括空格word 级别:不包括空格和逗号句号符2.2 k 值大小的选择如果文档由邮件组成,那么选择 k = 5 比较合适。如果文档比较大,选择 k = 9 比较合适3. Min Hashing (最原创 2022-05-10 16:36:25 · 1002 阅读 · 0 评论 -
linux回炉学习(八)
Linux回炉重造(七)1. 定制自己的Linux系统 通过裁剪现有Linux系统(CentOS7.6),创建属于自己的min Linux小系统,可以加深我们对linux的理解。 制作min linux流程:在现有的Linux系统(centos7.6)上加一块硬盘/dev/sdb,在硬盘上分两个分区,一个是/boot,一个是/,并将其格式化。需要明确的是,现在加的这个硬盘在现有的Linux系统中是/dev/sdb,但是,当我们把东西全部设置好时,要把这个硬盘拔除,放在新系统上,此时,就是/原创 2022-05-09 16:12:37 · 309 阅读 · 0 评论 -
linux回炉学习(七)
Linux回炉重造(七)1.Ubuntu安装ubuntu成功后,都是普通用户权限,并没有最高root权限,如果需要使用root 权限的时候,通常都会在命令前面加上 sudo 。我们一般使用su命令来直接切换到root用户的。安装好Ubuntu后,默认就已经安装好Python的开发环境。2.APT软件管理和远程登录sudo apt-get update #更新源sudo apt-get install package #安装包sudo apt-get remove package #删除包原创 2022-05-08 11:30:18 · 207 阅读 · 0 评论 -
Shell编程学习笔记(三)
Shell编程学习笔记(三)Shell编程综合实战要求:每天凌晨2:30 备份数据库student到/data/backup/db备份开始和备份结束能够给出相应的提示信息备份后的文件要求以备份时间为文件名,并打包成.tar.gz 的形式,比如: 2021-03-12_ 230201 .tar.gz在备份的同时,检查是否有10天前备份的数据库文件,如果有就将其删除。画出思维分析图:代码:backup.sh#备份目录BACKUP=/data/backup/db#当前时间DATETI原创 2022-05-07 13:41:58 · 347 阅读 · 0 评论 -
Shell编程学习笔记(二)
Shell编程学习笔记(二)1. for循环基本语法:#方法一for 变量 in 值1 值2 值3...do程序/代码done#方法二for((初始值;循环控制条件;变量变化))do程序/代码done示例:#!/bin/bash#案例1:打印命令行输入的参数[$*和$@的区别]#注意:$*是把输入的参数,当成一个整体,所以,只会输出一行for i in "$*"do echo "num is $i"done#使用$@来获取参数,注意,这里是分别对待,所原创 2022-05-06 21:11:32 · 204 阅读 · 0 评论 -
Shell编程学习笔记(一)
Shell编程学习笔记(一)1.初识 Shell脚本脚本以#!/bin/bash开头且脚本文件需要有运行权限第一个shellcode#!/bin/bashecho "hello,world~"常用执行方式:1. ./脚本.sh 2.sh 脚本.sh2. Shell变量Linux Shell中的变量分为:系统变量和用户自定义变量系统变量:$HOME、$PWD、$SHELL等等;显示当前shell中所有的变量:set变量的定义:定义变量:变量名=值(无空格原创 2022-05-06 17:00:51 · 239 阅读 · 0 评论 -
大数据系统与大规模数据分析学习笔记(区块链篇)
大数据系统与大规模数据分析学习笔记(区块链篇)1. 一致性哈希(distributed hash table) 传统哈希方法在增加或者减少服务器节点时,会导致哈希得到的结果不一致,从而将流量全导向后台服务器,造成缓存雪崩。一致性哈希,该算法可以有效解决分布式存储结构下动态增加和删除节点带来的问题。 原理:构造出一个哈希环,将每个节点都放在一个哈希环上,当用户需要获取资源时,都在哈希环上顺时针查找,找到的第一个节点就是资源存储的位置,当新加入一个服务器节点时,只会使一部分缓存失效,不会像传统方法一样原创 2022-05-04 16:24:37 · 4786 阅读 · 0 评论 -
国科大大数据系统与大规模数据分析课程第二次作业(Graph Coloring)
WordCount的变体,主要考察对Hadoop MapReduce框架编程的熟练度,几乎无坑点。。原创 2022-04-18 00:22:05 · 5856 阅读 · 0 评论 -
国科大大数据系统与大规模数据分析课程第一次作业(hash distinct)
大数据系统与大规模数据分析第一次作业一、作业内容从HDFS中读出数据对读出的数据进行hash去重将处理好的数据存入Hbase二、作业代码import java.util.*;import java.util.regex.Matcher;import java.util.regex.Pattern;import java.io.*;import java.net.URI;import java.net.URISyntaxException;import org.apa原创 2022-04-17 23:23:03 · 2489 阅读 · 0 评论