大数据的结课作业我选择的厦门大学林子雨老师的淘宝双11数据分析与预测项目。相关文件如下所示。
1.项目说明
淘宝双 11 数据分析与预测,涉及数据预处理、存储、查询和可视化分析等数据处理全流程所涉及的各种典型操作,涵盖 Linux、MySQL、Hadoop、Hive、Sqoop、Eclipse、ECharts、Spark 等系统和软件的安装和使用方法。
2.数据来源
数据集下载网址:https://pan.baidu.com/s/1cs02Nc
3.基础功能
项目本身需要完成的任务如下:
一、所涉及到的相关组件的安装及配置。
二、本地数据集上传到数据仓库 Hive。
三、 Hive 数据分析。
四、将数据从 Hive 导入到 MySQL。
五、利用 ECharts 进行数据可视化分析。
六、利用 Spark 预测回头客行为。
4.创新功能
在上述基础任务之外添加的额外功能为:
一、安装Kafka并进行配置。
二、安装Anaconda并进行配置。
三、安装Pycharm并进行配置。
四、数据处理和Python操作Kafka。
五、配置Spark开发Kafka环境。
六、测试程序并进行可视化处理。
5.总结
1.过程中出现的问题
1.1 在启动 Hadoop 之后使用 jps 命令来进行验证是否启动成功时发现没有 namenode 的进程。
1.2 在使用 Hive 对数据进行处理时发现无法找到相关数据文件。
1.3 在执行数据导入时,命令“bin/sqoop export –connect jdbc:mysql://localhost:3306/taobao11 –username root –password 123 –table user_log –export-dir ‘/user/hive/warehouse/taobao11.db/inner_user_log’ –fields-terminated-by ‘,’;”无法正确执行。导入数据不成功。
1.4 在使用 Eclipse 进行创建一个文件时。发现并没有 Dynamic Web Project 类型的文件。导致无法创建文件。
1.5 在 Eclipse 中安装新的软件时,无法安装成功。
1.6 在使用 Eclipse 进行可视化时发现报错,浏览器页面没有正确显示内容。而是显示 404 的错误。
1.7 在使用 Eclipse 进行可视化时发现报错,浏览器页面没有正确显示内容。而是显示 500 的错误。
1.8 在进行可视化时发现男女买家各个年龄段对比功能中,散点图中数值不显示以及坐标不正确。
1.9 在进行可视化时发现无法正常的显示各省份的总成交量对比功能。并且也没有相应的地图呈现。
1.10 在对 kafka 进行测试时发现使用生产者传送信息数据后,消费者无法正常的接收到信息数据。
1.11 在下载 pycharm 时下载失败。显示内存不足。
1.12 在启动 statup.sh 文件时无法正常启动。
1.13 在进行 Streaming 实时处理数据时,无法正确处理数据。当消费者的主题改为 result 之后并没有得到相应的处理之后的信息数据。
1.14 在运行 app.py 时报错。显示 WebSocket transport not available. Install simple-websocket for improved performance。
1.15 在运行 app.py 时报错。显示 ImportError:cannot import name ‘run_with_reloader’ from’werkzeug.serving’。
2.解决方法
2.1 对于(1.1)的问题。解决方法是:将 hadoop 关闭,对 hadoop 进行初始化处理,之后重新启动即可发现 namenode 进程。
2.2 对于(1.2)的问题。解决方法是:发现是因为重启虚拟机导致 HDFS 里的文件被删除,因此无法找到相关文件。需要重新将文件上传到 HDFS 中。
2.3 对于(1.3)的问题。解决方法是:使用“bin/sqoop export –connect jdbc:mysql://localhost:3306/taobao11 –username root -P –table user_log –export-dir ‘/user/hive/warehouse/taobao11.db/inner_user_log’ –fields-terminated-by ‘,’;”命令进行数据的导入。
2.4 对于(1.4)的问题。解决方法是:在 Eclipse 中进行安装新软件。安装完成之后即可显示Dynamic Web Project 文件。
2.5 对于(1.5)的问题。解决方法是:多次下载安装,进行多次尝试。安装是否成功与网络有关。
2.6 对于(1.6)的问题。解决方法是:新建一个 jsp 文件进行测试,发现可以在浏览器中打开该文件,所以 eclipse 是能够正常运行的。最终重新连接一下 mysql 即可进行可视化。
2.7 对于(1.7)的问题。解决方法是:通过检查发现是 sql 语句书写问题。与 desc 语句有关。改为 order by num desc 即可进行可视化。
2.8 对于(1.8)的问题。解决方法是:在 index2.jsp 文件中修改坐标轴数值大小和数值显示大小。修改完成之后即可解决相关问题。
2.9 对于(1.9)的问题。解决方法是:在 index4.jsp 文件中编写相关代码。并且导入 china.js 文件。完成之后即可解决相关问题。
2.10 对于(1.10)的问题。解决方法是:使用新的命令 bin/kafka-console-consumer.sh –bootstrap-server localhost:9092 –topic dblab –from-beginning 来使用 consumer 接收数据。
2.11 对于(1.11)的问题。解决方法是:将一些不需要的文件进行删除,腾出空间下载 pycharm。即可解决该问题。
2.12 对于(1.12)的问题。解决方法是:将文件的所属用户和用户组进行修改,与当前用户相一致。
2.13 对于(1.13)的问题。解决方法是:将 kafka 的版本进行修改,与 streaming 的版本相对应才能进行处理。修改完成之后即可正确处理数据。
2.14 对于(1.14)的问题。解决方法是:第三方库的版本不一致。在 pycharm 的终端进行第三方库的安装和删除。使用“pip install simple-websocket”、“conda remove flask-socketio”、“conda install flask-socketio==4.3.1”命令。来对第三方库进行安装和删除。
2.15 对于(1.15)的问题。解决方法是:第三方库的版本不一致。在 pycharm 的终端进行第三方库的更新。使用“pip3 install –upgrade flask==1.1.4”、“pip3 install –upgrade Werkzeug==1.0.1”、“pip3 install –upgrade itsdangerous==1.1.0”、“pip3 install –upgrade Jinja2==2.11.2”、“pip3 install –upgrade MarkupSafe==2.0.1”命令。来对第三方库进行更新。
相关链接:
评论