@lPolar
data scientist

Как быстро портировать .csv в Oracle?

Всем привет!
Вопрос - какие есть инструменты по увеличению производительности RODBC/Pandas+Sqlalchemy для отправки .csv файлов в Oracle?
Допустим, в Python это выглядит так:
import pandas as pd
from sqlalchemy import create_engine
e = create_engine("oracle://user:pass@DB")
df = pd.read_csv("data.csv")
df.to_sql("data",e)

А вот так - в R:
library(RODBC)
conn = odbcConnect("dsn","user","pass")
tab = read.csv("data.csv")
sqlSave(conn,tab,"data",fast=TRUE)

Однако и то и другое работает достаточно медленно - таблица в 100к строк и 120 столбцов грузится в pandas - 20 минут, в R - 20 минут.
Есть какие-нибудь возможности по увеличению производительности?
  • Вопрос задан
  • 3201 просмотр
Пригласить эксперта
Ответы на вопрос 1
@protven
Пользуйтесь инструментами, которые вам предоставляет сам Oracle. В данном случае оптимально воспользоваться утилитой SQL*Loader.
По моему опыту, если не будет никаких блокировок на таблицу и БД работает на относительно быстром сервере,100к строк должно вставиться за 2-4 минуты.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы