widgets ipy
Os ipywidgets são elementos visuais que permitem aos usuários especificar valores de parâmetros nas células do Notebook. O senhor pode usar ipywidgets para tornar interativo o Notebook Databricks Python .
O pacote ipywidgets inclui mais de 30 controles diferentes, inclusive controles de formulário, como controles deslizantes, caixas de texto e caixas de seleção, bem como controles de disposição, como guias, acordeões e grades. Usando esses elementos, o senhor pode criar interfaces gráficas de usuário para interagir com o código do Notebook.
- Para determinar a versão do ipywidgets que seu clustering suporta, consulte as notas sobre a versão para a versão Databricks Runtime do seu clustering.
- Alguns ipywidgets não funcionam no Databricks Runtime 15.0.
- Para obter informações sobre Databricks widgets, consulte Databricks widgets. Para obter diretrizes sobre quando usar widgets do Databricks ou ipywidgets, consulte Práticas recomendadas para o uso de ipywidgets e widgets do Databricks.
Requisitos
- Os ipywidgets estão disponíveis em visualização no Databricks Runtime 11.0 por meio do Databricks Runtime 12.2 LTS e geralmente estão disponíveis no Databricks Runtime 13.0e acima. O suporte para tabelas Unity Catalog está disponível no Databricks Runtime 12.1e acima em clusters habilitados Unity Catalog .
- Para usar o ipywidgets no Databricks, seu navegador deve ser capaz de acessar o domínio
databricks-dev-cloudfront.dev.databricks.com
.
Em default, o ipywidgets ocupa a porta 6062. Com o Databricks Runtime 11.3 LTS e acima, se o senhor entrar em conflito com integrações de terceiros, como o Datadog, poderá alterar a porta usando a seguinte configuraçãoSpark:
spark.databricks.driver.ipykernel.commChannelPort <port-number>
Por exemplo:
spark.databricks.driver.ipykernel.commChannelPort 1234
A configuração Spark deve ser definida quando o clustering for criado.
Uso
O código a seguir cria um histograma com um controle deslizante que pode assumir valores entre 3 e 10. O valor do widget determina o número de compartimentos no histograma. Conforme você move o controle deslizante, o histograma é atualizado imediatamente. Veja o exemplo do Notebook do ipywidgets para experimentar isso.
import ipywidgets as widgets
from ipywidgets import interact
# Load a dataset
sparkDF = spark.read.csv("/databricks-datasets/bikeSharing/data-001/day.csv", header="true", inferSchema="true")
# In this code, `(bins=(3, 10)` defines an integer slider widget that allows values between 3 and 10.
@interact(bins=(3, 10))
def plot_histogram(bins):
pdf = sparkDF.toPandas()
pdf.hist(column='temp', bins=bins)
O código a seguir cria um controle deslizante de números inteiros que pode assumir valores entre 0 e 10. O valor de default é 5. Para acessar o valor do controle deslizante em seu código, use int_slider.value
.
import ipywidgets as widgets
int_slider = widgets.IntSlider(max=10, value=5)
int_slider
O código a seguir carrega e exibe um dataframe de amostra de uma tabela no Unity Catalog. O suporte para tabelas Unity Catalog está disponível com Databricks Runtime 12.1e acima em clusters habilitados para Unity Catalog.
import ipywidgets as widgets
# Create button widget. Clicking this button loads a sampled dataframe from UC table.
button = widgets.Button(description="Load dataframe sample")
# Output widget to display the loaded dataframe
output = widgets.Output()
def load_sample_df(table_name):
return spark.sql(f"SELECT * FROM {table_name} LIMIT 1000")
def on_button_clicked(_):
with output:
output.clear_output()
df = load_sample_df('<catalog>.<schema>.<table>')
print(df.toPandas())
# Register the button's callback function to query UC and display results to the output widget
button.on_click(on_button_clicked)
display(button, output)
Notebook exemplo: ipywidgets
O Notebook a seguir mostra alguns exemplos de uso do ipywidgets no Notebook.
Exemplo de Notebook do ipywidgets
Notebook exemplo: exemplo avançado de ipywidgets
O Notebook a seguir mostra um exemplo mais complexo usando ipywidgets para criar um mapa interativo.
Exemplo avançado: mapas com ipywidgets
Práticas recomendadas para o uso de widgets ipywidgets e Databricks
Para adicionar controles interativos ao Python Notebook, o Databricks recomenda o uso do ipywidgets. Para o Notebook em outros idiomas, use os widgetsDatabricks.
O senhor pode usar os widgets do Databricks para passar parâmetros entre o Notebook e para passar parâmetros para o Job; os ipywidgets não são compatíveis com esses cenários.
Quais widgets Jupyter de terceiros são compatíveis com a Databricks?
A Databricks oferece suporte de melhor esforço para widgets de terceiros, como ipyleaflet, bqplot e VegaFusion. No entanto, alguns widgets de terceiros não são suportados. Para obter uma lista dos widgets que foram testados no Databricks Notebook, entre em contato com a equipe do Databricks account .
Limitações
Consulte Limitações conhecidas Databricks Notebook para obter mais informações.