Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Use notebookutils.lakehouse para gerenciar itens do Lakehouse programaticamente em blocos de anotações do Fabric. Você pode criar, obter, atualizar, excluir e listar Lakehouses diretamente do código do notebook.
Os utilitários Lakehouse estão disponíveis em notebooks de Python, PySpark, Scala e R. Os exemplos nesta página usam o Python como o idioma principal, com equivalentes scala e R mostrados para métodos-chave.
Observação
As ferramentas de lakehouse têm suporte apenas no Microsoft Fabric. Eles não estão disponíveis no Azure Synapse Analytics.
Para exibir os métodos disponíveis e suas descrições, chame notebookutils.lakehouse.help().
Visão geral dos métodos
A tabela a seguir resume os métodos disponíveis:
| Método | Descrição | Devoluções |
|---|---|---|
create |
Cria um novo Lakehouse, com suporte de esquema opcional. |
Artifactobjeto com propriedades: id, , displayNamee descriptionworkspaceId. |
get |
Recupera um Lakehouse pelo nome. |
Artifact objeto com metadados básicos. |
getWithProperties |
Recupera um Lakehouse com propriedades estendidas. |
Artifact objeto com metadados estendidos e detalhes da conexão. |
update |
Atualiza um nome ou descrição existente do Lakehouse. | Objeto atualizado Artifact . |
delete |
Exclui um Lakehouse. |
Boolean.
True se for bem-sucedido; caso contrário, False. |
list |
Lista Lakehouses em um espaço de trabalho. | Matriz de Artifact objetos. |
listTables |
Lista tabelas em um Lakehouse. | Matriz de Table objetos. |
loadTable |
Inicia uma operação de carga para uma tabela "lakehouse". |
Boolean.
True se for bem-sucedido; caso contrário, False. |
# Method signatures
notebookutils.lakehouse.create(name: String, description: String = "", definition: Object = {}, workspaceId: String = ""): Artifact
notebookutils.lakehouse.get(name: String = "", workspaceId: String = ""): Artifact
notebookutils.lakehouse.getWithProperties(name: String, workspaceId: String = ""): Artifact
notebookutils.lakehouse.update(name: String, newName: String, description: String = "", workspaceId: String = ""): Artifact
notebookutils.lakehouse.delete(name: String, workspaceId: String = ""): Boolean
notebookutils.lakehouse.list(workspaceId: String = "", maxResults: Int = 1000): Array[Artifact]
notebookutils.lakehouse.listTables(lakehouse: String = "", workspaceId: String = "", maxResults: Int = 1000): Array[Table]
notebookutils.lakehouse.loadTable(loadOption: Object, table: String, lakehouse: String = "", workspaceId: String = ""): Boolean
Todos os métodos aceitam um parâmetro opcional workspaceId . Quando omitida, a operação tem como destino o espaço de trabalho atual. Especifique um ID de espaço de trabalho para acesso entre espaços de trabalho. Você deve ter permissões apropriadas no workspace de destino.
Criar um Lakehouse
Use notebookutils.lakehouse.create() para criar um novo Lakehouse no espaço de trabalho atual ou em um espaço de trabalho especificado. Os nomes de Lakehouse devem ser exclusivos em um workspace.
Parâmetros
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
name |
String | Sim | Nome de exibição do Lakehouse. Deve ser exclusivo dentro do espaço de trabalho. |
description |
String | No | Uma descrição de texto para o Lakehouse. |
definition |
Objeto | No | Objeto de definição estruturado para o Lakehouse. Passe {"enableSchemas": True} ou a forma de objeto equivalente do seu idioma para habilitar o suporte ao esquema. |
workspaceId |
String | No | ID do workspace de destino. O padrão é o espaço de trabalho atual. |
Criar um Lakehouse básico
artifact = notebookutils.lakehouse.create("lakehouse_name", "Description of the Lakehouse")
Observação
Passe definition como um objeto estruturado para sua linguagem de notebook, como um dicionário Python, um Scala Mapou uma lista R.
Criar um Lakehouse com suporte a esquema
Quando você habilita o suporte ao esquema, o Lakehouse dá suporte a vários esquemas para organizar tabelas. Passe {"enableSchemas": True} como o definition parâmetro:
artifact = notebookutils.lakehouse.create(
"SalesAnalyticsWithSchema",
"Lakehouse with schema support for multi-tenant data",
{"enableSchemas": True}
)
print(f"Created lakehouse with schema support: {artifact.displayName}")
print(f"Lakehouse ID: {artifact.id}")
Criar um Lakehouse em um workspace diferente
workspace_id = "aaaaaaaa-1111-2222-3333-bbbbbbbbbbbb"
artifact = notebookutils.lakehouse.create(
name="SharedAnalytics",
description="Shared analytics lakehouse",
workspaceId=workspace_id
)
print(f"Created lakehouse in workspace: {workspace_id}")
Criar lakehouses em lote
Você pode criar vários Lakehouses em um loop para provisionar ambientes para equipes ou projetos diferentes:
departments = ["Sales", "Marketing", "Finance", "Operations"]
created_lakehouses = []
for dept in departments:
lakehouse = notebookutils.lakehouse.create(
name=f"{dept}Analytics",
description=f"Analytics lakehouse for {dept} department"
)
created_lakehouses.append(lakehouse)
print(f"Created: {lakehouse.displayName}")
print(f"Created {len(created_lakehouses)} lakehouses")
Dica
Use nomes descritivos que reflitam a finalidade do Lakehouse e considere convenções de nomenclatura para separação dos ambientes (desenvolvimento, teste, produção).
Obter um Lakehouse
Utilize notebookutils.lakehouse.get() para recuperar um Lakehouse pelo nome. Se você omitir o nome, o NotebookUtils usará o Lakehouse padrão atual.
Parâmetros
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
name |
String | No | Nome do Lakehouse para obter. O padrão é o Lakehouse atual quando omitido. |
workspaceId |
String | No | ID do workspace de destino. O padrão é o espaço de trabalho atual. |
artifact = notebookutils.lakehouse.get("lakehouse_name", "optional_workspace_id")
print(f"Lakehouse Name: {artifact.displayName}")
print(f"Lakehouse ID: {artifact.id}")
print(f"Workspace ID: {artifact.workspaceId}")
Obter um Lakehouse com propriedades estendidas
Use quando precisar de notebookutils.lakehouse.getWithProperties() propriedades estendidas além dos metadados básicos, como cadeias de conexão ou detalhes de configuração:
artifact = notebookutils.lakehouse.getWithProperties("lakehouse_name", "optional_workspace_id")
print(f"Lakehouse: {artifact.displayName}")
print(f"Properties: {artifact.properties}")
Obtenha um Lakehouse de outro espaço de trabalho
workspace_id = "bbbbbbbb-2222-3333-4444-cccccccccccc"
artifact = notebookutils.lakehouse.get("SharedData", workspaceId=workspace_id)
print(f"Retrieved: {artifact.displayName} from workspace {workspace_id}")
Atualizar um Lakehouse
Use notebookutils.lakehouse.update() para atualizar o nome ou a descrição de um Lakehouse existente.
Importante
Renomear um Lakehouse pode comprometer dependências posteriores, como notebooks, pipelines ou atalhos que fazem referência ao nome original. Coordene renomeações com sua equipe antes de aplicá-las.
Parâmetros
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
name |
String | Sim | Nome atual do Lakehouse. |
newName |
String | Sim | Novo nome para o Lakehouse. |
description |
String | No | Descrição atualizada. |
workspaceId |
String | No | ID do workspace de destino. O padrão é o espaço de trabalho atual. |
updated_artifact = notebookutils.lakehouse.update(
"old_name",
"new_name",
"Updated description",
"optional_workspace_id"
)
print(f"Updated lakehouse: {updated_artifact.displayName}")
Excluir um Lakehouse
Use notebookutils.lakehouse.delete() para remover permanentemente um Lakehouse de um workspace.
Cuidado
A exclusão é permanente e não pode ser desfeita. Certifique-se de que o nome do Lakehouse está correto antes de excluí-lo e verifique se há notebooks, pipelines ou fluxos de trabalho dependentes que fazem referência a ele.
Parâmetros
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
name |
String | Sim | Nome do Lakehouse que será excluído. |
workspaceId |
String | No | ID do workspace de destino. O padrão é o espaço de trabalho atual. |
is_deleted = notebookutils.lakehouse.delete("lakehouse_name", "optional_workspace_id")
if is_deleted:
print("Lakehouse deleted successfully")
else:
print("Failed to delete lakehouse")
Listar Lakehouses
Use notebookutils.lakehouse.list() para enumerar Lakehouses em um workspace.
Parâmetros
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
workspaceId |
String | No | ID do workspace de destino. O padrão é o espaço de trabalho atual. |
maxResults |
int | No | Número máximo de itens a serem retornados. O valor padrão é 1000. |
artifacts_list = notebookutils.lakehouse.list("optional_workspace_id")
print(f"Found {len(artifacts_list)} lakehouses:")
for lh in artifacts_list:
print(f" - {lh.displayName} (ID: {lh.id})")
Observação
Em Scala, o método list oferece suporte maxResults da mesma forma que as outras linguagens de programação do notebook. Por exemplo, use list(workspaceId, maxResults).
Listar tabelas
Use notebookutils.lakehouse.listTables() para listar todas as tabelas em um Lakehouse.
Parâmetros
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
lakehouse |
String | No | Nome do Lakehouse. O padrão é para o Lakehouse atual quando omitido. |
workspaceId |
String | No | ID do workspace de destino. O padrão é o espaço de trabalho atual. |
maxResults |
int | No | Número máximo de itens a serem retornados. O valor padrão é 1000. |
artifacts_tables_list = notebookutils.lakehouse.listTables("lakehouse_name", "optional_workspace_id")
Tabela de carga
Use notebookutils.lakehouse.loadTable() para carregar dados de arquivos em uma tabela Lakehouse.
Parâmetros
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
loadOption |
Objeto | Sim | Opções de carga estruturadas que especificam o caminho do arquivo, o modo, o formato e outras configurações de carga. |
table |
String | Sim | Nome da tabela de destino. |
lakehouse |
String | No | Nome do Lakehouse. O padrão é o Lakehouse atual quando omitido. |
workspaceId |
String | No | ID do workspace de destino. O padrão é o espaço de trabalho atual. |
O loadOption objeto dá suporte às seguintes chaves:
| Chave | Descrição |
|---|---|
relativePath |
Caminho para o arquivo de origem relativo à raiz Lakehouse (por exemplo, Files/myFile.csv). |
pathType |
Tipo de caminho. Use File para um único arquivo. |
mode |
Modo de carregamento, como Overwrite ou Append. |
recursive |
Definido para True para incluir arquivos em subpastas. |
formatOptions |
Um dicionário com configurações específicas de formato, como format, headere delimiter. |
Exemplo:
result = notebookutils.lakehouse.loadTable(
{
"relativePath": "Files/myFile.csv",
"pathType": "File",
"mode": "Overwrite",
"recursive": False,
"formatOptions": {
"format": "Csv",
"header": True,
"delimiter": ","
}
}, "table_name", "lakehouse_name", "optional_workspace_id")
if result:
print("Table loaded successfully")
else:
print("Table load failed")