簡體   English   中英

AWS Glue連接錯誤

[英]AWS Glue Join Error

我們在S3存儲桶(CSV)中有數據(表),需要應用聯接轉換並將結果存儲在S3中。 表連接成功,但是S3中的列列表混亂,輸出文件中不保留順序。 輸出文件還包含額外的引號(“)和點(。)。

僅應用映射時,順序不變,產生正確的輸出而不會產生混亂。

腳本在python或Scala中。

劇本:

import sys
from awsglue.transforms import *
from awsglue.utils import getResolvedOptions
from pyspark.context import SparkContext
from awsglue.context import GlueContext
from awsglue.job import Job


args = getResolvedOptions(sys.argv, ['JOB_NAME'])

sc = SparkContext()
glueContext = GlueContext(sc)
spark = glueContext.spark_session
job = Job(glueContext)
job.init(args['JOB_NAME'], args)

datasource0 = glueContext.create_dynamic_frame.from_catalog(database = "testdb", table_name = "table1", transformation_ctx = "datasource0")

datasource1 = glueContext.create_dynamic_frame.from_catalog(database = "testdb", table_name = "reftable", transformation_ctx = "datasource1")

datasource2 =datasource1.join(["aaaaaaaaaid"],["aaaaaaaaaid"],datasource0,transformation_ctx="join") 


datasink2 = glueContext.write_dynamic_frame.from_options(frame = datasource2, connection_type = "s3", connection_options = {"path": "s3://testing/Output"}, format = "csv", transformation_ctx = "datasink2")
job.commit()

需要幫忙 !!!

你可以嘗試一下:

datasource2  = Join.apply(datasource0, datasource1, 'aaaaaaaaaid', 'aaaaaaaaaid')

這應該工作。 讓我知道,如果可以幫助解決問題,也請接受/支持答案。

問候

尤瓦

我知道這很老,只說對我有用的方法。

  1. 轉換為數據框
  2. 加入他們。

https://stackoverflow.com/a/54362245/8622986中所述

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM