As a followup, tried running a 200m 75column table...
# general
j
As a followup, tried running a 200m 75column table write_deltalake() to local with an nvme gen4 ssd, lots of space, went really fast for the first 150 or so iterations and has since stalled at 98%. Have 24 cores and 128gb memory, isn't a resource issue. More than happy to find a log of what happened / why it didn't complete if anyone knows how.
ScanWithTask-WriteDeltaLake [Stage3] 98%|▉| 155/158 [2044<0223, 47.75s/it] Hasn't moved from here since it stopped. Don't have the deltalog folder in there yet.
j
Hmm
Yes, we perform a write of all the Parquet files first before performing the delta commit, which is why the delta log folder hasn’t appeared
What data source are you reading from?
j
This is from unity catalog, Azure databricks.
Confirmed it works just fine on smaller tables, they write nearly instantaneously.
j
I see, my guess is that the read is taking a really long time (e.g. because of really long retries/timeouts from Azure storage)
We’re very aggressive with our reads 😛 sometimes cloud storage gets very unhappy with us And we’ve mostly tested/built against AWS S3 which seems to be the most resilient cloud backend out of all the clouds so far
j
Yeah, I had to use service principal settings in an AzureConfig passed to IOConfig(azure=azure_config) when I went to run df.write_deltalake(table=table,mode='overwrite',io_config=custom_io_config)
So potentially even token timeout?
Gotta start testing against the least resilient storage :P
😭 1
Tried again, gets to 80+% in 2 mins then slows right on down. Am at 92% after 6. Will see if I can ray submit.
j
Yeah pretty sure this is an I/O issue and we’re getting throttled to oblivion 😛
j
Well, if there's any log/data I can provide just let me know. Can keep testing this table on future versions.
🙌 1
j
Will let you know! We’re currently in the process of stabilizing our GCS reads… will move to Azure soon 🙂
appreciate you giving us a whirl!
Let us know what you think of the tool
j
Plan is dagster daft for data engineering w dbx unity catalog to serve our enterprise stakeholders. Having one tool that can read from mssql, oracle, postgres, easily pick up api responses, and write em all into one catalog all at low hardware cost is great.
j
That sounds… really cool actually 😮
Any chance we could grab you on a call maybe sometime next week?
Would love to talk through your current use-cases and maybe build out some good APIs for you. Also to battle-test these Azure integrations
j
Sure thing. FYI I thought the table stalled again at 98% so I just left it running overnight. It did complete successfully but I don't know when. Gonna check the modified dates of the files.
Started 10:02, looks like it's last modified file is 10:30. Previous run just never completed so that's a win. Can't guarantee it actually finished in 28mins though.
Running a test using ray runner so I have concrete info.
I have an example of a stall:
🔥 1
j
Cool, yeah that’s almost definitely a bad retry policy then. It’s probably doing some really long exponential retry somewhere in the azure SDK’s defaults. Thanks for digging in!! We’ll take a closer look today