Im cố gắng để đọc dữ liệu từ mysql và viết nó trở lại tập tin sàn gỗ trong s3 với phân vùng cụ thể như sau:spark đọc dữ liệu từ mysql song song
df=sqlContext.read.format('jdbc')\
.options(driver='com.mysql.jdbc.Driver',url="""jdbc:mysql://<host>:3306/<>db?user=<usr>&password=<pass>""",
dbtable='tbl',
numPartitions=4)\
.load()
df2=df.withColumn('updated_date',to_date(df.updated_at))
df2.write.parquet(path='s3n://parquet_location',mode='append',partitionBy=['updated_date'])
Vấn đề của tôi là nó mở chỉ có một kết nối đến mysql (thay vì 4) và nó không viết để parquert cho đến khi nó lấy tất cả các dữ liệu từ mysql, bởi vì bảng của tôi trong mysql là rất lớn (100M hàng) quá trình thất bại trên OutOfMemory.
Có cách nào để định cấu hình Spark để mở nhiều kết nối tới mysql và ghi một phần dữ liệu vào sàn gỗ không?
Bạn đã khắc phục sự cố này chưa? nếu có xin vui lòng hướng dẫn tôi để thực hiện.! Cảm ơn bạn – Vignesh