mosaicml / mosaicml/streaming

Azure Databricks MDS write ops in error: MapInPandas write_mds gives message Spark higher-order functions are not supported in Unity Catalog

Open
#655 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Python
Stars
1.6k
Forks
206
PR merge metrics
No merged PRs in 30d

Description

Environment

Azure Databricks 14.3 LTS used on a distributed cluster.

To reproduce

Steps to reproduce the behavior:

  1. Code as follow:
d = {
    'code': ['test', 'test', 'test'], 
    'age': ['test', 'test', 'test'], 
    'id': ['ib4', '7h!', '67h']
}

df_test = ps.DataFrame(data=d).to_spark()

mds_kwargs = {
    'out': 'test', 
    'columns': {
        'code': 'str', 
        'age': 'str',
        'id': 'str',
    },
    'keep_local': True
}

dataframe_to_mds(
    dataframe=df_test,
    merge_index=True,
    mds_kwargs=mds_kwargs
)

Expected behavior

The script should result in a write op that writes the created DataFrame on the Unity Catalog / local persistence in the MDS format.

Additional context

Documentation is not accessible today, we are using version 0.7.x .

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the distributed-cluster example through dataframe_to_mds, focusing on the MapInPandas/write_mds path and the Unity Catalog error. Confirm that the DataFrame can be written to Unity Catalog or local persistence in MDS format without the reported higher-order-functions message.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, spark
Domain
data-engineering
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.