python - 从 Python 优化 Impala 数据加载的建议
问题描述
我创建了这段代码来将数据上传到Impala中的表中,Python
但它太慢了。我基本上将一个表转换为一个数组,以避免我正在检索的一些错误。
arr2 = np.array(tbl2)
tbl2
具有以下列:
cols1 = ['DATE1', 'DATE2', 'REGION', 'STATE', 'CITY', 'N_SAMPLE', 'UOM', 'AVG_RESALE', 'STD_RESALE',
'P_MIN_RESALE', 'P_MAX_RESALE', 'MARGEM_RESALE', 'COEF_RESALE', 'AVG_DISTRI', 'STD_DISTRI', 'P_MIN_DISTRI',
'P_MAX_DISTRI', 'COEF_DISTRI', 'MATERIAL']
然后,插入数据的代码:
sql_insert = f"INSERT INTO prd_product_123.table ({', '.join(cols1)}) VALUES ({', '.join(list('?'*len(cols1)))}) ;"
for i in range(0, len(arr2)):
cursor.execute(sql_insert, list(arr2[i].transpose()))
cursor.commit()
print('Row ' + str(i) + ' loaded!')
问题是原始表tbl2
有超过 1,000,000 行,顺便说一下,将它加载到 Impala 需要几天的时间。
有没有办法更有效地加载它?
解决方案
推荐阅读
- python - 使用 Hyperopt 时出现 Trials() 问题?
- c# - 从列表 Linq 中删除重复的起始名称
- spring-kafka - 使用 Spring KafkaListener 处理 JSON 反序列化错误
- sql - 带有可选列的 Excel 插入脚本 SQL server 2004
- excel - 为什么我的公式在链接到外部工作簿时会中断?
- javascript - 检查 HTML 元素是否是 HTML 媒体元素
- javascript - 使用外部 javascript 时图像未显示
- javascript - Safari 在删除 src 并调用 load() 后不会停止下载媒体
- mysql - 如何将XML数据导入mysql表
- html - 如何在不同的屏幕尺寸上调整页面上的图像大小?