Массовая выгрузка из Redshift в S3 прервана - PullRequest
0 голосов
/ 15 ноября 2018

Я написал скрипт на python, который будет выполнять массовую выгрузку всех таблиц в схеме на s3, которая масштабируется до петабайт данных.Пока мой скрипт работал нормально, мой скрипт на python был прерван из-за отключения сети.

Теперь я нахожусь в разгрузочной работе, не зная, как возобновить работу с последней точки отказа.Пока я спорю о перезапуске всего с самого начала, я, очевидно, думаю об использовании раба Дженкинса для выполнения своей работы, однако я не хочу терять часы, которые уже были завершены.Есть ли способ возобновить с того места, где он остановился?Я думаю, что трудно определить точку возобновления, когда файлы поступают в виде ZIP.

Какие наилучшие практики я мог бы использовать, чтобы избежать этого в будущем?

Любые стратегии, чтобы иметь возможность забрать с того места, где он остановился?

Часть моего фрагмента кода, которая выгружается:

#function to unload the data from tables into s3
def unloadData(passed_tables,schema,cur):
        #loop through each table from the specified schema
        for table in passed_tables:
            #extract the table name string and store it in a variable
            i=(table[0])
            try:
                #unload query to migrate the table to s3
                unload='''unload('select * from {0}.{1}') to 's3://<bucket>/{2}/{3}/'
                iam_role 'arn:aws:iam::*****:role/***';'''.format(schema,i,schema,i)
                cur.execute(unload)
                print("Unload in progress! Check S3 bucket in a while to confirm.")
            except Exception, e:
                print("Failed to unload data! Try again or check the query.")
                print(sys.stderr, "Exception: %s" % str(e))
                sys.exit(1)
...