Сохранение кадра данных Pandas на сервере PostgreSQL в AWS Redshift - PullRequest
0 голосов
/ 20 сентября 2018

Я пытаюсь сохранить кадр данных pandas на сервере красного смещения postgresql.Я подключился к серверу, преобразовал таблицу в фрейм данных, провел некоторый анализ, затем я хотел сохранить ее в виде таблицы postgresql обратно на сервер красного смещения AWS.

и вот мой код:

import pandas.io.sql as psql
import pandas as pd
import psycopg2
from sqlalchemy import create_engine
import datetime as dt
import warnings
import numpy as np
warnings.filterwarnings("ignore")
#importing dependecies

print("Importing Dependencies")

#setting up the connection
conn_string = "dbname='database_name' user='username' password='password'"
conn = psycopg2.connect(conn_string)
print("Connecting to Database")

#read each table as a data frame
df_1 = psql.read_sql("SELECT name, salary, date FROM A", conn)
df_2 = psql.read_sql("SELECT name, gender FROM B", conn)
df_3 = psql.read_sql("SELECT name, health, recovery_time FROM C", conn)

Я провел здесь некоторый анализ данных, затем попытался сохранить свой результат с помощью

#Step 16: Saving result to postgresql table
print('Saving Partial Result as PostgreSQL Table')
engine = create_engine('postgresql://username:password@xx.xxx.xx.xxx/database_name')
con = engine.connect()
df.to_sql('health_informatics', con, if_exist='replace')
print('Successfully Saved to PostgreSQL')

, однако получил сообщение о том, что:

sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) FATAL: no pg_hba.conf entry for host "xx.xxx.xx.xxx", user "username",database "database_name", SSL off

У меня естьпрочитайте, что это проблема конфигурации:

https://serverfault.com/questions/704810/postgresql-error-with-pg-hba-conf

https://github.com/PostgresApp/PostgresApp/issues/234

http://docs.sqlalchemy.org/en/latest/errors.html#error-e3q8

К сожалению, у меня нет доступа ккорень частного сервера.Мне интересно, есть ли способ обойти это, я не могу сохранить данные в виде файла .csv, потому что это миллионы и миллионы строк, и они являются конфиденциальными данными, связанными с медицинскими записями.

1 Ответ

0 голосов
/ 20 сентября 2018

pg_hba.conf

(psycopg2.OperationalError) FATAL:

Из журнала ошибок исключений видно, что вы пытаетесь получить доступ к своей базе данных без конфигурации.

Во-первых, вам необходимо предварительно создатьконфигурационный файл.Общий формат файла pg_hba.conf - это набор записей.

initdb

Стандартный способ сделать это.Команда initdb инициализирует ваш pg_hba.conf.

Возможно разместить файл конфигурации аутентификации в другом месте.Вы можете редактировать эту опцию в том же файле.

...