- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
问题陈述:
我有多个 csv 文件。我正在使用 python 清理它们并使用 bcp 将它们插入 SQL Server。现在我想将其插入 Greenplum 而不是 SQL Server。请建议一种直接从 python 数据框批量插入 greenplum 表到 GreenPlum 表的方法。
解决方案:(我能想到的)
我能想到的方式是 CSV-> Dataframe -> Cleainig -> Dataframe -> CSV -> 然后使用 Gpload 进行批量加载。并将其集成到Shell脚本中实现自动化。有没有人有好的解决方案。
将数据直接从数据帧加载到 gp 表时出现问题:
作为 gpload 请求文件路径。我可以将变量或数据框传递给它吗?有什么方法可以批量加载到 greenplum 中吗?我不想从数据帧创建 csv 或 txt 文件,然后将其加载到 greenplum。
最佳答案
我会使用 psycopg2 和 io 库来执行此操作。 io 是内置的,您可以使用 pip(或 conda)安装 psycopg2。
基本上,您将数据帧写入 csv 格式的字符串缓冲区(“内存文件”)。然后使用 psycopg2 的 copy_from
函数将其批量加载/复制到您的表中。
这应该让你开始:
import io
import pandas
import psycopg2
# Write your dataframe to memory as csv
csv_io = io.StringIO()
dataframe.to_csv(csv_io, sep='\t', header=False, index=False)
csv_io.seek(0)
# Connect to the GreenPlum database.
greenplum = psycopg2.connect(host='host', database='database', user='user', password='password')
gp_cursor = greenplum.cursor()
# Copy the data from the buffer to the table.
gp_cursor.copy_from(csv_io, 'db.table')
greenplum.commit()
# Close the GreenPlum cursor and connection.
gp_cursor.close()
greenplum.close()
关于python - 我如何将数据从数据框(在 python 中)插入到 greenplum 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47429651/
我们有一个相当大的 Greenplum v4.3 集群。 18台主机,每台主机有3个segment节点。每台主机大约有40个核心和60G内存。 我们的表有 30 列宽,有 1 亿行。我们正在测试的查询
我们有零售行业数据的用例。我们正在制作 EDW。 我们目前正在从 HAWQ 进行报告。但是我们想将我们的 MPP 数据库从 Hawq 转移到 Greenplum。基本上,我们想对当前的数据管道进行更改
我们有小型 gpdb 集群。在那里,我们正在尝试设置 Greenplum 指挥中心门户网站。 环境是 产品 |版本 Pivotal Greenplum (GPDB) 4.3.x Pivotal Gre
我们有小型 GPDB 集群阵列。我们最近升级了 GPDB 并配置了 GCC 门户网站。在那,我们注意到我们的机器在 SSH 时仍然显示密码。 我们尝试在 greenplum 机器上执行以下文档命令:
我想知道当我们将pxf和datanode放在同一主机上时,Greenplum PXF是否可以利用HDFS短路读取的优势。 我们进行了初步测试,但是,pxf似乎没有利用短路读数。谷歌搜索后几乎没有任何东
在greenplum中如何配置生成gphdfs.so?当我 postgres=# CREATE EXTERNAL TABLE csv_hdfs_lineitem (like a) LOCATION (
假设我在 psql 上运行以下查询: > select a.c1, b.c2 into temp_table from db.A as a inner join db.B as b > on a.x
假设我在 psql 上运行以下查询: > select a.c1, b.c2 into temp_table from db.A as a inner join db.B as b > on a.x
有没有办法强制 Greenplum PostgreSQL 在 WITH 子句中具体化子查询,例如 MATERIALIZE 和 INLINE optimizer hints在 Oracle 中执行以下操
我正在尝试创建一种将批量日期查询转换为增量查询的方法。例如,如果查询将 where 条件指定为 WHERE date > now()::date - interval '365 days' and d
假设我有一个很长的 URL xyz = 'www.google.com/xyz?para1=value1¶2=value2¶3=value3....' 我正在尝试从这个长 URL 中获
我在 Greenplum(4.3.5.1) 中有一个表,我想删除最初使用主键约束创建的约束。我尝试这样做,但查询运行了 2-3 小时,我已取消它,因为没有其他选择, 然后我进行了备份并尝试删除表,但查
我在 Greenplum 中编写了一个 PL/pgSQL 函数,该函数需要翻译 interval哪个< interval '00:00:00'为正值。 例如区间值-23:57:00应该翻译成00:03
我正在使用 Greenplum,我有这样的数据: id | val ----+----- 12 | 12 12 | 23 12 | 34 13 | 23 13 | 34 13
我连接了一个greenplum,我发现pdo太慢了 我的测试脚本是这样的 = '2017-01-17' and date query($sql); $end = microtime(true); #v
我正在尝试将数据从 Greenplum 外部表插入到物理(或普通表)表中。外部表指向一个包含大约 1.32 亿数据的配置单元文件。但是,当我的外部表显示只有 6600 万的计数时。结果,当插入物理表时
支持和反对使用 Greenplum 的论据是什么?而不是 PostgreSQL在 webapp (django) 环境中? 我的直觉 react 是更喜欢 PostgreSQL 的开源方法和庞大的知识
我想知道,是否可以使用 PostgreSQL 将数据从 Greenplum 中的表导出到 CSV 但到远程服务器,或者 CSV 的传输必须手动完成(或通过脚本)。 最佳答案 Greenplum 有一个
我正在查看这两个大规模并行数据库:Postgres-XL和 Greenplum . 问题是,我不知道如何在它们之间做出选择,因为它们看起来都一样:都是开源的,基于 PostgreSQL,都使用 MPP
这种情况下的主要困难是来自 Greenplum 数据库的磁盘空间不足错误。我们在 Amazon Linux 机器上运行 Greenplum 数据库 4.2.0.0。 调查显示如下: 1) Greenp
我是一名优秀的程序员,十分优秀!