Solução de problemas usando tabelas Apache Iceberg™ com o Snowflake Open Catalog no Snowflake¶
Os cenários a seguir podem ajudar você a solucionar problemas que podem ocorrer ao usar tabelas Apache Iceberg™ com o Snowflake Open Catalog no Snowflake.
Não é possível criar uma integração de catálogo para o Open Catalog¶
Esta seção descreve como solucionar problemas na criação de uma integração de catálogo para o Open Catalog.
Para solucionar o problema, identifique a mensagem de erro que você recebeu na saída SQL quando a criação da integração de catálogo falhou.
Erro |
|
|---|---|
Causa |
O |
Solução |
Atualize Importante
|
Erro |
|
|---|---|
Causa |
O token OAuth que você especificou na integração do catálogo não é válido. |
Solução |
Certifique-se de que os valores especificados para |
Não é possível criar uma tabela gerenciada pelo Snowflake¶
Esta seção descreve como solucionar problemas ao criar uma tabela gerenciada pelo Snowflake.
Para solucionar o problema, identifique a mensagem de erro que recebeu na saída SQL quando a criação da tabela falhou.
Erro |
|
|---|---|
Causa |
A função de catálogo do catálogo externo ao qual você deseja se conectar não tem os privilégios necessários para enviar notificações ao Open Catalog. |
Solução |
Atualize a função de catálogo concedendo todos os seguintes privilégios à função de catálogo para seu catálogo externo:
O local onde você atualiza a função de catálogo depende se as concessões que ela possui são aplicadas no nível do catálogo, namespace ou tabela. Veja o procedimento aplicável para sua função de catálogo: |
Erro |
|
|---|---|
Causa |
O usuário AWS IAM de seu catálogo externo não pode assumir a função que tem permissão para acessar o S3. |
Solução |
Modifique o documento de política no AWS para permitir que o usuário IAM de sua conta Open Catalog assuma a função com permissão para acessar o bucket S3. Para modificar o documento de política, você precisa atualizar a função de IAM na AWS. Para obter detalhes, consulte Recuperar o usuário AWS IAM da sua conta do Snowflake Open Catalog e, em seguida, Conceder ao usuário de IAM permissões para acessar objetos do bucket. Lembre-se de que o documento de política deve incluir o ARN de usuário IAM e ID externo para o volume externo e catálogo externo no Open Catalog. No documento de política de exemplo a seguir, observe os seguintes valores:
|
Erro |
|
|---|---|
Causa |
Você está tentando sincronizar uma tabela gerenciada pelo Snowflake com um catálogo interno no Open Catalog. Você só pode sincronizar uma tabela gerenciada pelo Snowflake com um catálogo externo no Open Catalog. |
Solução |
Você não pode atualizar um catálogo interno existente para um catálogo externo, então você deve criar um novo catálogo externo:
|
Erro |
|
|---|---|
Causa |
O caminho para o arquivo de metadados da tabela que você deseja criar não está incluído na lista de locais permitidos para seu provedor de nuvem externo. Como resultado, o Open Catalog não consegue acessar o arquivo de metadados da tabela. |
Solução |
Certifique-se de que o local do arquivo de metadados esteja no caminho do arquivo do local base padrão para o catálogo que o administrador do serviço criou no Open Catalog ou que esteja em qualquer um dos locais adicionais permitidos, se aplicável. Para obter a lista de locais permitidos, selecione o catálogo no Open Catalog e consulte o campo Locais. |
Você não pode alterar uma tabela Iceberg ao especificar o parâmetro CATALOG_SYNC¶
Esta seção descreve como solucionar problemas para alterar o parâmetro CATALOG_SYNC.
Para solucionar o problema, identifique a mensagem de erro que recebeu na saída SQL quando a alteração da tabela falhou.
Erro |
|
|---|---|
Causa |
A função de catálogo do catálogo externo ao qual você deseja se conectar não tem os privilégios necessários para enviar notificações ao Open Catalog. |
Solução |
Conceda todos os seguintes privilégios à função de catálogo para seu catálogo externo:
O local onde você atualiza a função de catálogo depende se as concessões são aplicadas no nível do catálogo, namespace ou tabela. Veja o procedimento aplicável para sua função de catálogo: |
Erro |
|
|---|---|
Causa |
O usuário AWS IAM do seu catálogo externo não tem permissão para acessar objetos do bucket S3. |
Solução |
Modifique o documento de política na AWS para permitir que o usuário de IAM da sua conta Open Catalog acesse objetos no seu bucket S3. Para modificar o documento de política, você precisa atualizar a função de IAM na AWS. Para obter detalhes, consulte Recuperar o usuário AWS IAM da sua conta Polaris Open Catalog e, em seguida, Conceder ao usuário de IAM permissões para acessar objetos do bucket. Lembre-se de que o documento de política deve incluir o ARN de usuário IAM e ID externo para o volume externo e catálogo externo no Open Catalog. No documento de política de exemplo a seguir, observe os seguintes valores:
|
Erro |
|
|---|---|
Causa |
Você está tentando sincronizar uma tabela Iceberg gerenciada pelo Snowflake com uma integração de catálogo para um catálogo interno no Open Catalog. Você só pode sincronizar uma tabela Iceberg gerenciada pelo Snowflake com um catálogo externo no Open Catalog. |
Solução |
Você não pode atualizar um catálogo interno existente para um catálogo externo, então você deve criar um novo catálogo externo:
|
Erro |
|
|---|---|
Causa |
O caminho para o arquivo de metadados da tabela que você deseja criar não está incluído na lista de locais permitidos para seu provedor de nuvem externo. Como resultado, o Open Catalog não consegue acessar o arquivo de metadados da tabela. |
Solução |
Certifique-se de que o local do arquivo de metadados esteja no caminho do arquivo do local base padrão para o catálogo que o administrador do serviço criou no Open Catalog ou que esteja em qualquer um dos locais adicionais permitidos, se aplicável. Para obter a lista de locais permitidos, selecione o catálogo no Open Catalog e consulte o campo Locations. |