如何将Parquet文件中的表格数据导入Memgraph图数据库
直接导入Parquet到Memgraph的便捷方法
不需要先转CSV,有两种更直接的方案:
1. 用Memgraph Lab可视化导入
Memgraph Lab(Memgraph官方可视化工具)支持直接导入Parquet文件,操作步骤:
- 打开Memgraph Lab并连接到目标数据库
- 切换到Import Data标签页
- 选择Upload files,上传你的Parquet文件
- 在数据映射界面:
- 选中要导入的目标表(Parquet可能包含多表,这里选择你的人员数据表)
- 定义节点类型(比如
Person),将Parquet列映射为节点属性(如FirstName→first_name、LastName→last_name等) - 若需构建关联关系(比如把
Country单独设为Country节点,与Person建立LIVES_IN关系),可在此步配置关系映射
- 点击Import完成导入
这种方法无需写代码,适合快速导入或非技术人员操作。
2. Python脚本批量导入(适合自动化/大数据量)
用PyArrow直接读取Parquet,再通过Memgraph Python客户端写入,步骤如下:
安装依赖
pip install memgraph pyarrow pandas
编写导入脚本
import pyarrow.parquet as pq from memgraph import Memgraph # 连接Memgraph(默认地址localhost:7687,如有修改请调整参数) mg = Memgraph() # 读取Parquet文件并转换为DataFrame parquet_table = pq.read_table("your_data.parquet") df = parquet_table.to_pandas() # 批量插入数据(用UNWIND减少网络请求,提升导入效率) data_records = df.to_dict("records") mg.execute( """ UNWIND $records AS person CREATE (p:Person { first_name: person.FirstName, last_name: person.LastName, country: person.Country, occupation: person.Occupation, salary: person.Salary }) """, params={"records": data_records} ) print("数据导入完成")
优化建议
- 若数据量达百万级以上,可将数据拆分多个批次导入,避免内存占用过高
- 如需构建复杂关系(比如
Person关联Occupation节点),可先导入维度数据,再在脚本中补充关系创建逻辑
内容的提问来源于stack exchange,提问作者Moraltox
相关产品推荐
相关产品推荐

