Как часть моей домашней работы мне нужно загрузить большие файлы данных в две таблицы MySQL, проанализированные с помощью Python, на моей гостевой машине, которая вызывается через Vagrant SSH.
Затем мне также нужно запустить задание Sqoop для одной из двух таблиц, так что теперь я дошел до того, что успешно загрузил одну из таблиц и запустил скрипт Python для загрузки второй таблицы, и это было больше, чем 3 часа и все еще загружается.
Мне было интересно, смогу ли я завершить свою работу Sqoop на уже загруженной таблице вместо того, чтобы пялиться на черный экран в течение почти 4 часов.
Мои вопросы:
Есть ли какой-либо другой способ Vagrant SSH на той же машине без перезагрузки Vagrant (потому что --reload
в конечном итоге отключает мою виртуальную машину, тем самым уничтожая все текущие задания, выполняемые на моих гостях).
Если есть, то, учитывая, что я открываю параллельное окно, чтобы войти в систему на гостевой машине, как обычно, и начинаю работать над заданием Sqoop на первой таблице, которая уже загружена; это как-то повлияет на мою текущую работу со второй таблицей, которая все еще загружается? Или это приведет к потере данных, поскольку я не могу рисковать, потому что это очень большой и очень трудоемкий процесс.
код Python выглядит так
~~
def parser ():
с открытым ('1950-sample.txt', 'r', encoding = 'latin_1') в качестве ввода:
for line in input:
....
Вставка в таблицы
def insert ():
if (tablename == '1950_psr'):
cursor.execute("INSERT INTO 1950_psr (usaf,wban,obs_da_dt,lati,longi,elev,win_dir,qc_wind_dir, sky,qc_sky,visib,qc_visib,air_temp,qc_air_temp,dew_temp,qc_dew_temp,atm_press,qc_atm_press)VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)",(USAF,WBAN,obs_da_dt,lati,longi,elev,win_dir,qc_wind_dir, sky,qc_sky,visib,qc_visib,air_temp,qc_air_temp,dew_temp,qc_dew_temp,atm_press,qc_atm_press))
elif (tablename == '1986_psr'):
cursor.execute("INSERT INTO 1986_psr (usaf,wban,obs_da_dt,lati,longi,elev,win_dir,qc_wind_dir, sky,qc_sky,visib,qc_visib,air_temp,qc_air_temp,dew_temp,qc_dew_temp,atm_press,qc_atm_press)VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)",(USAF,WBAN,obs_da_dt,lati,longi,elev,win_dir,qc_wind_dir, sky,qc_sky,visib,qc_visib,air_temp,qc_air_temp,dew_temp,qc_dew_temp,atm_press,qc_atm_press))
парсер ()
Сохранение и закрытие
conn.commit ()
conn.close()