thoughtspot / thoughtspot/cs_tools

Databricks sync issues

Open
#212 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Python
Stars
2
Forks
7
PR merge metrics
No merged PRs in 30d

Description

First Stop
  • I have read and agreed to the ThoughtSpot LICENSE.
  • I understand that if I have a critical issue with ThoughtSpot, I should reach out to my designated Account Executive and Customer Success Manager instead of cs_tools.
Platform Configuration

Image

Description

I'm trying to setup the Databricks syncer and having some issues.

  1. It looks like you check the access token for 'dapi' prefix. This is true for personal access tokens, but not service principals which start with 'dose'. Does this work with service principals?

  2. I get delta_failed_to_merge errors whenever I try to run a syncer. This happens for both bi_server and metadata. Example below

[DELTA_FAILED_TO_MERGE_FIELDS] Failed to merge fields 'response_size' and 'response_size'                             
                        [SQL:                                                                                                                                                                          
                                    COPY INTO ts_bi_server                                                                                                                                             
                                    FROM 'dbfs:/FileStore/cs_tools/TMP_STAGE_ts_bi_server_6f053.csv'                                                                                                   
                                    FILEFORMAT = CSV                                                                                                                                                   
                                    FORMAT_OPTIONS (                                                                                                                                                   
                                        'header' = 'true',                                                                                                                                             
                                        'inferSchema' = 'true',                                                                                                                                        
                                        'delimiter' = '|'                                                                                                                                              
                                    )                                                                                                                                                                  
                                    COPY_OPTIONS ('mergeSchema' = 'true')                                                                                                                              
                                    ]                                                                                                                                                                  
                        (Background on this error at: https://sqlalche.me/e/20/4xp6)                                                                                                                   

Switching the code to overwriteSchema seems to work

SQL_COPY_INTO = sa.sql.text(
            f"""
            COPY INTO {into}
            FROM 'dbfs:/FileStore/cs_tools/{from_}'
            FILEFORMAT = CSV
            FORMAT_OPTIONS (
                'header' = 'true',
                'inferSchema' = 'true',
                'delimiter' = '|'
            )
            COPY_OPTIONS ('overwriteSchema' = 'true', 'OVERWRITE' = 'true')
            """
        )
Considering adding a log file.

No response

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

No file or test is named. Start by locating the Databricks syncer and the SQL_COPY_INTO code shown in the report, then reproduce the service-principal token check and DELTA_FAILED_TO_MERGE_FIELDS error for bi_server or metadata. Done means service-principal tokens are accepted and syncs complete without the reported schema-merge failure.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, sql
Domain
authentication, data-engineering, databases
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.