zepplin记录1


前言

Apache Zeppelin是一个开源的数据分析和可视化的交互式笔记本,类似于Jupyter Notebook。它支持多种编程语言(如Scala、Python、R、SQL等)和数据处理工具(如Apache Spark、Hadoop等)。Zeppelin提供了一个集成的开发环境,使用户能够以交互的方式进行数据分析、可视化和共享。

Zeppelin的主要特点包括:

  1. 多语言支持:Zeppelin支持多种编程语言,例如Scala、Python、R、SQL等。用户可以根据自己的需求选择合适的语言进行分析。

  2. 可视化功能:Zeppelin提供了丰富的可视化工具和图表库,用户可以通过图表直观地展示和分析数据。

  3. 数据共享和协作:Zeppelin允许用户共享笔记本和运行结果,以便团队成员之间进行协作和交流。

  4. 扩展性:Zeppelin支持插件机制,用户可以根据自己的需求添加额外的功能和组件。

  5. 集成大数据工具:Zeppelin可以集成各种大数据处理工具,如Apache Spark、Hadoop等,使用户能够在分布式环境中处理和分析大规模数据。

总之,Zeppelin是一个功能强大、灵活和易于使用的开源框架,适用于数据科学家、分析师和开发人员进行数据分析和可视化的工作。。


一、配置python环境

在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/

二、测试可用性

1.配置interpreter

如图,修改python的path为which python3的结果。
zepplin记录1-LMLPHP

2.测试代码

代码如下,对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}")

执行后得到如图:
zepplin记录1-LMLPHP


总结

以上就是今天要讲的内容,本文介绍了如何配置zeppelin和python3.9,为接下来的工作做好了准备。

01-14 13:43