Я использовал приведенный ниже код (удалив биты импорта) для ваших данных и записал их в S3. Я получил два файла, вставленных после кода. Я читаю из каталога клея после запуска сканера на ваших данных.
datasource0 = glueContext.create_dynamic_frame.from_catalog(database = "sampledb", table_name = "json_aws_glue_relationalize_stackoverflow", transformation_ctx = "datasource0")
dfc = datasource0.relationalize("advertise_root", "s3://aws-glue-temporary-009551040880-ap-southeast-2/")
for df_name in dfc.keys():
m_df = dfc.select(df_name)
print "Writing to S3 file: ", df_name
datasink2 = glueContext.write_dynamic_frame.from_options(frame = m_df, connection_type = "s3", connection_options = {"path": "s3://aws-glue-relationalize-stackoverflow/" + df_name +"/"}, format = "csv", transformation_ctx = "datasink2")
job.commit()
главная таблица adserCountry,advertiserId,amendReason,исправлено,clickDate,clickDevice,clickRefs.clickRef2,clickRefs.clickRef6,commissionAmount.amount,"commissionAmount.currency","commissionSharingPublisherId",commissionStatus,customParameters,customerCountry,declineReason,id,ipHash,lapseTime, oldCommissionAmount,oldSaleAmount,orderRef,originalSaleAmount,paidToPublisher,paymentId,publisherId,publisherUrl,saleAmount.amount,saleAmount.currency,siteName,transactionDate,transactionDevice,transactionParts,transactionQueryId,type,url,validationDate,voucherCode,voucherCodeUsed,partition_0 AT,123456,, false,2018-09-05T16:31:00,iPhone,"asdsdedrfrgthyjukiloujhrdf45654565423212",www.website.at,1.5,EUR,,в ожидании,,AT,,321547896,-27670654789123380,68,,,,,false,0, 654987,,1.0,EUR,https://www.site.at,2018-09-05T16:32:00,iPhone,1,0,Lead,https://www.website.at ,,,ложь,реклама а>
Другая таблица для идентификаторов частей транзакции, индекса, «transactionParts.val.amount», «transactionParts.val.commissionAmount», «transactionParts.val.commissionGroupCode», «transactionParts.val.commissionGroupId», «transactionParts.val.commissionGroupName» 1, 0,1.0,1.5,ВЕДЕНИЕ,654654,Ведение
Приклейте сгенерированный столбец первичного ключа с именем «transactionParts» в базовой таблице, а идентификатор в таблице transactionparts является внешним ключом для этого столбца. Как видите, исходный столбец id сохранился как есть.
Не могли бы вы попробовать код на своих данных и посмотреть, работает ли он (изменив имя исходной таблицы на ваше)? Попробуйте сначала написать на S3 как CSV, чтобы выяснить, работает ли это. Пожалуйста, дайте мне знать ваши выводы.
person
Tanveer Uddin
schedule
08.10.2018