yongvay/DE_FraudDetection
GitHub: yongvay/DE_FraudDetection
一个展示实时与批量欺诈交易检测的数据工程课程项目,整合了 Spark、Kafka、MongoDB 和 Neo4j 构建完整数据管道。
Stars: 0 | Forks: 0
# I don't see any heading provided to translate. The message only contains the instructions/boilerplate but no actual heading text between the instructions and the delimiter. Could you please provide the heading(s) you'd like translated?
BMDS2013 数据工程作业 – readme.txt
团队编号:S3G4-3
提交日期:2026年3月4日
1. 项目标题:
实时欺诈交易检测
2. 项目文件夹结构:
fraud_detection_project/
│
├── requirements.txt
├── readme.txt
├── main.py / run_pipiline.ipynb
│
│
├── IngestionLayer
│ ├── batch_ingestor.py
│ ├── real_time_ingestor.py
│
├── BatchProcessing
│ ├── batch_config.py
│ ├── batch_processor.py
│ └── main_batch.py
│ └── show_results.py
│
├── RealTimeProcessing
│ ├── RealTime.py
│
├── MongoDB
│ ├── run_serving.py
│ ├── mongodb_connector.py
│ ├── mongodb_ingestor.py
│ ├── mongodb_query.py
│
│──Neo4j
│ ├── neo4j_loader.py
│ ├── auradb.py
│ ├── neo4j_query.py
│
└── data
├── sample_100000_sorted.csv
└── 5000_Basic.csv
└── sample_1500_sorted.csv
3. 安装说明:
3.1 安装依赖项:
$ pip install -r requirements.txt
3.2 准备数据
将包含三个数据集的"G4-3_Data"文件夹保存到您的WSL账户和HDFS中。确保这三个数据集存储在WSL账户和HDFS中的同一目录:
* sample_100000_sorted.csv
* 5000_Advanced.csv
* 5000_Basic.csv
3.3 启动必要的服务
$ start-dfs.sh
$ start-yarn.sh
$ zookeeper-server-start.sh
$ $KAFKA_HOME/config/zookeeper.properties &
$ kafka-server-start.sh $KAFKA_HOME/config/server.properties &
$ nano ~/.profile
--在文件末尾添加以下行。
export SPARK_HOME=/home/hduser/spark
export PATH=$PATH:$SPARK_HOME/bin
export KAFKA_HOME=/home/hduser/kafka
export PATH=$PATH:$KAFKA_HOME/bin
$ source ~/.profile
$ source de-venv/bin/activate
3.4 运行演示:
1. 由于Spark的特性,所有之前处理的数据都将被忽略。因此,始终通过在末尾添加版本名称来更改HDFS文件路径。
例如:
您之前的文件路径:
hdfs://localhost:9000/user/student/assignment/realtime_v1/data/suspicious_receivers
您的新文件路径:
hdfs://localhost:9000/user/student/assignment/realtime_v2/data/suspicious_receivers
请为实时处理、MongoDB和Neo4j部分修改文件路径。
2. 运行Jupyter Notebook中的第一个单元格,以使脚本能够发现文件路径。
3. 按照笔记本单元格的顺序逐步运行每个单元格
4. 运行以下命令检查HDFS中的任何数据更改,并确保高亮部分遵循上一节中更改的HDFS文件路径版本。
检查任何新创建的文件夹
$ hdfs dfs -ls /user/student/assignment/realtime_v1/
检查实时处理的数据
$ hdfs dfs -ls /user/student/assignment/realtime_v1/data
获取某个主题中已处理的交易(更改文件夹名称并从终端复制文件路径)
$ hdfs dfs -cat /user/student/assignment/realtime_v1/data/suspicious_receiver/part-00199-7107f4ff-e683-4054-a6c6-f045314c91bb-c000.json
5. 在数据存在于HDFS后运行以下笔记本单元格
3.5 停止服务:
$ kafka-server-stop.sh
$ zookeeper-server-stop.sh
$ stop-yarn.sh
$ stop-dfs
标签:ETL, Hadoop, HDFS, JavaCC, Kafka, MongoDB, Neo4j, Python, SonarQube插件, Spark, YARN, 分布式系统, 响应大小分析, 大数据, 批处理, 数据工程, 数据库, 数据摄取, 数据管道, 无后门, 欺诈检测, 流处理, 目录扫描, 软件工程, 逆向工具