Apache Zeppelin是一个开源的数据分析和可视化的交互式笔记本,类似于Jupyter Notebook。它支持多种编程语言(如Scala、Python、R、SQL等)和数据处理工具(如Apache Spark、Hadoop等)。Zeppelin提供了一个集成的开发环境,使用户能够以交互的方式进行数据分析、可视化和共享。
Zeppelin的主要特点包括:
多语言支持:Zeppelin支持多种编程语言,例如Scala、Python、R、SQL等。用户可以根据自己的需求选择合适的语言进行分析。
可视化功能:Zeppelin提供了丰富的可视化工具和图表库,用户可以通过图表直观地展示和分析数据。
数据共享和协作:Zeppelin允许用户共享笔记本和运行结果,以便团队成员之间进行协作和交流。
扩展性:Zeppelin支持插件机制,用户可以根据自己的需求添加额外的功能和组件。
集成大数据工具:Zeppelin可以集成各种大数据处理工具,如Apache Spark、Hadoop等,使用户能够在分布式环境中处理和分析大规模数据。
总之,Zeppelin是一个功能强大、灵活和易于使用的开源框架,适用于数据科学家、分析师和开发人员进行数据分析和可视化的工作。。
在CentOS7.9环境上先安装Python3.9。
注:最新版本zeppelin对python3.10的支持不好,会报错:
importError: cannot import name 'MutableMapping' from 'collections' (/usr/local/python3.10/lib/python3.10/collections/__init__.py)
使用GitHub上下载的最新pyenv,将其解压到~/.pyenv下。然后执行:
[root@slas ~]# echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
[root@slas ~]# echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
[root@slas ~]# echo 'eval "$(pyenv init -)"' >> ~/.bashrc
重登录后可以使用如下命令从国内源安装python3.9.10
[root@slas ~]# export v=3.9.10; wget https://npm.taobao.org/mirrors/python/$v/Python-$v.tar.xz -P ~/.pyenv/cache/; pyenv install $v
--2024-01-14 10:30:17-- https://npm.taobao.org/mirrors/python/3.9.10/Python-3.9.10.tar.xz
Resolving npm.taobao.org (npm.taobao.org)... 114.55.80.225
Connecting to npm.taobao.org (npm.taobao.org)|114.55.80.225|:443... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: https://cdn.npmmirror.com/binaries/python/3.9.10/Python-3.9.10.tar.xz [following]
--2024-01-14 10:30:17-- https://cdn.npmmirror.com/binaries/python/3.9.10/Python-3.9.10.tar.xz
Resolving cdn.npmmirror.com (cdn.npmmirror.com)... 223.109.76.217, 223.109.76.219, 36.156.208.243, ...
Connecting to cdn.npmmirror.com (cdn.npmmirror.com)|223.109.76.217|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 19154136 (18M) [application/x-xz]
Saving to: ‘/root/.pyenv/cache/Python-3.9.10.tar.xz’
100%[=======================================================================================================================================================================================================================================================================================================>] 19,154,136 1.14MB/s in 15s
2024-01-14 10:30:33 (1.18 MB/s) - ‘/root/.pyenv/cache/Python-3.9.10.tar.xz’ saved [19154136/19154136]
Installing Python-3.9.10...
Installed Python-3.9.10 to /root/.pyenv/versions/3.9.10
[root@slas ~]# pyenv global 3.9.10
[root@slas ~]# python3
Python 3.9.10 (main, Jan 14 2024, 10:31:44)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> quit()
[root@slas ~]# which python3
/root/.pyenv/shims/python3
安装pandas,使用国内源。
[root@slas pandas]# pip3 install pandas -i https://mirrors.aliyun.com/pypi/simple/
如图,修改python的path为which python3的结果。
代码如下,对input目录下的所有csv文件进行合并操作:
import pandas as pd
import os
# 文件夹路径
folder_path = "input"
# 读取文件夹中的所有 CSV 文件
csv_files = [f for f in os.listdir(folder_path) if f.endswith('.csv')]
# 创建一个空的 DataFrame 用于存储合并后的数据
combined_df = pd.DataFrame()
# 循环读取每个 CSV 文件并将其合并到 combined_df
for csv_file in csv_files:
file_path = os.path.join(folder_path, csv_file)
df = pd.read_csv(file_path)
combined_df = pd.concat([combined_df, df], ignore_index=True)
# 将合并后的数据写入新的 CSV 文件
combined_csv_path = "input/combined_file.csv"
combined_df.to_csv(combined_csv_path, index=False)
print(f"合并完成,合并后的文件保存在:{combined_csv_path}")
执行后得到如图:
以上就是今天要讲的内容,本文介绍了如何配置zeppelin和python3.9,为接下来的工作做好了准备。