DTStack / DTStack/dt-sql-parser
[Feature Request]: Spark SQL Iceberg table support
- 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
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