社交网络数据分析案例
数据集介绍
该数据集包含2153471个用户,1143092个场所,1021970个签到,27098490个社交关系以及用户分配给场所的2809581评级;所有这些都是通过公共API从Foursquare应用程序中提取的。所有用户信息均已匿名,即用户地理位置也已匿名。每个用户都由一个id和GeoSpatial位置表示。场地也一样。数据包含在五个文件中:users.dat,containers.dat,checkins.dat,socialgraph.dat和rating.dat。以下是有关所有这些文件的内容和使用的更多详细信息。
文件内容:
-
users.dat:由一组用户组成,因此每个用户都有一个唯一的ID和代表用户家乡位置的地理空间位置(纬度和经度)。
-
events.dat:由一组场所(例如,餐馆)组成,以便每个场所都有唯一的ID和地理空间位置(纬度和经度)。
-
checkins.dat:标记用户在场所的签到(访问)。每个签到都具有唯一的ID以及用户ID和场所ID。
-
socialgraph.dat:包含用户之间存在的社交图边缘(连接)。每个社交关系由两个唯一的ID(first_user_id和second_user_id)表示的两个用户(朋友)组成。
-
rating.dat:包含隐式评分,用于量化用户对特定地点的喜欢程度。
数据集统计分析
- hadoopc2创建hive表,
CREATE DATABASE IF NOT EXISTS test;
USE test;
DROP TABLE IF EXISTS `SOCIALGRAPH`;
CREATE EXTERNAL TABLE IF NOT EXISTS `SOCIALGRAPH` (
firstUserId STRING,
secondUserId STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\|'
LINES TERMINATED BY '\n'
LOCATION '/user/hive/warehouse/test.db/socialgraph'
tblproperties ("skip.header.line.count"="2");
---select trim(firstUserId) as firstUserId, trim(secondUserId) as secondUserId from SOCIALGRAPH;
- hadoopc2(hive --service cli),统计
select count(1) from SOCIALGRAPH;
---27098490
select count(distinct Id) from (select trim(firstUserId) as Id from SOCIALGRAPH union select trim(secondUserId) as Id from SOCIALGRAPH)u;
---1880423
编译scala分析程序
bigdatawithloadeddatac1=>/tools:
- 进入bdcode/Flink, 编译程序
mvn clean scala:compile compile package -Dexec.mainClass="com.kinginsai.wc.SocialGraph"
也可以尝试执行单机版此数据处理程序,
mvn exec:java -Dexec.mainClass="com.kinginsai.wc.SocialGraph"
- cp target/Flink-1.0-SNAPSHOT-jar-with-dependencies.jar 到 /workspace_logs/
bigdatawithloadeddatac1=>/hadoopc1/hadoopc1:
- 集群上执行,
nohup yarn-session.sh -n 3 -s 3 -jm 1024 -tm 1024 -nm test -d 2>&1 >/tmp/yarnsession.log &
nohup flink run -c com.kinginsai.wc.SocialGraph /workspace_logs/Flink-1.0-SNAPSHOT-jar-with-dependencies.jar 1 hdfs://dmcluster/user/hive/warehouse/test.db/socialgraph/socialgraph.dat 50 2>&1 >/tmp/flink.log &
tail -f /tmp/flink.log
- 结果分析
社会网络分析方法
你有没有想过,你的朋友圈里的每一个人都是你的社交网络中的一个节点,而你们之间的互动则是社交网络中的边。这些节点和边构成了一个复杂的网络,而这个网络又会影响你的生活和决策。
这就是社会网络分析的基本概念。社会网络分析是一种研究人际关系和信息传播的方法,它可以帮助我们理解社交网络中的结构和动态,从而更好地预测和干预社会现象。
社会网络分析是近年来一种新兴的社科研究方法,帮助很多学者不断产出优秀的科研成果;有人甚至将“社会网络分析”称为“论文发表神器”,知网上以”社会网络分析“为关键词进行搜索,发文量呈上升的趋势。
社会网络分析已被广泛应用于社会科学的各个领域,如社会学、经济学、管理学、心理学、人类学、图书情报档案学、新闻传播学、教育学、数学、通信科学等学科。
详细学习内容可观看Spark快速大数据处理扫一扫~~~或者引擎搜索Spark余海峰