Question: Does Sail have a deployment mode similar to Spark StandAlone? #1994
|
Can I manually start the worker and register with the driver instead of using k8s? |
Replies: 10 comments
|
Thanks for reaching out! Sail doesn't support standalone mode yet. Here are a few considerations if we'd like to explore this idea.
We would love to hear your use cases! The standalone mode with manual worker registration is not a common production setting that we're aware of, but let us know your requirements and we'd be happy to see how we can better support them. (BTW, Sail has a local cluster mode where each driver/worker runs in separate threads within the same Sail server process. This is useful for testing purposes.) |
|
Thank s for your answer.Another question, why doesn't sail delete the completed pods? |
The worker pods will be removed after the server pod terminates. This allows the user to have a way to access worker pod logs if needed. The Sail server is designed to be lightweight instead of long-running, so it is typical for users to start a new server for each data processing job and all the pods (workers and server) will be cleaned up once the job finishes. I can see that automatic worker cleanup might be desirable if the server is long-running. This usage pattern is somewhat different from Sail's design philosophy, but we'd love to learn about the use cases! |
I saw this description in your document, “The Sail server in cluster mode can support multiple sessions, each powered by a cluster job runner. Each cluster job runner owns a driver that schedules the distributed physical plan containing multiple stages.” So I thought Sail Server was a long-running service. |
|
Yeah the Spark Connect protocol supports the concept of a "session", so multiple clients can connect to the same server. But in production settings, it is usually good to have a separate Spark Connect server for each job for better resource isolation. |
|
Hi~ @linhr, thanks for your time again. Does Sail support partitioned tables?The Memory catalog doesn't seem to support it.I'm not sure if other catalogs support it? |
|
Yes Sail supports partitioned table. If memory catalog or other catalog have problems with it, that needs to be fixed. Is the problem you encountered related to the |
Using memory catalog and pyspark client mod, I can create a partitioned table.
then I select from the table,there will be an exception as follows. spark-3.5.8-bin-hadoop3/python/pyspark/sql/connect/client/core.py", line 1503, in _handle_error And if I describe the table , I can't see the partition column. |
I understand now, it seems that Sail does not support Hive style PARTIONED BY syntax? |
|
Thanks for the example! This seems an issue when the partition column is not defined in the column list. I created #1588 to track this. |
Thanks for reaching out!
Sail doesn't support standalone mode yet. Here are a few considerations if we'd like to explore this idea.