DTStack / DTStack/dt-sql-parser

[Feature Request]: Spark SQL Iceberg table support

Aberta
#463 0 comentários 0 reações 0 responsáveis Ver no GitHub
Linguagem predominante
TypeScript
Estrelas
394
Forks
108
Merge médio
3d 21h
PRs com merge (30d)
2

Descrição

### Topic

Support new SQL

### Description

Currently linter does not support Iceberg syntax operations. One of the gaps identified was the lack of 4 parts table support convention which now can consist of catalog.db.table.branch. Fore example:

```
select
h.made_current_at,
s.operation,
h.snapshot_id,
h.is_current_ancestor,
s.summary['spark.app.id']
from prod.db.table.history h
join prod.db.table.snapshots s
on h.snapshot_id = s.snapshot_id
order by made_current_at;
```

Error text:
```
* Line:7 - 'table' is not valid at this position, expecting an existing function; Line:7 - '.' is not valid at this position; Line:7 - 'h' is not valid at this position; Line:8 - '.' is not valid at this position; Line:8 - 's' is not valid at this position;
```

Samples of Iceberg based syntax are available: https://iceberg.apache.org/docs/latest/spark-ddl/#create-table-as-select

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

Comece reproduzindo a consulta de exemplo no parser do Spark SQL e compare-a com os exemplos vinculados de Iceberg Spark DDL. Está concluído quando o parser aceita referências de quatro partes catalog.db.table.branch e os joins e aliases mostrados sem os erros relatados.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
spark, sql, typescript
Domínio
data-engineering, tooling
Tipo de issue
Funcionalidade
Dificuldade
3/5
Tempo estimado
1-2 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
45/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.