如何使用 Databricks 应用程序部署 Streamlit 应用程序

问题描述 投票:0回答:1

我想使用 Databricks 应用程序运行 Streamlit。 我有 python 代码(在下面找到),我可以在 Visual Studio 代码中使用它来运行 Streamlit 应用程序,甚至将上传到 Streamlit 的文件上传到 Azure blob 存储,但如何在 databricks 中将 Streamlit 作为应用程序运行并实现相同的效果?即将文件上传到 Azure Blob 存储。

import streamlit as st
import pandas as pd
import time
import openpyxl
from azure.storage.blob import BlobServiceClient
import os

st.title("site-cluster mapping data")
df_gsl = pd.read_csv(r"C:\users\xxx.xxx\.venv\store_list.csv")
df_bar = df_gsl[['business_unit' , 'site_id']]
df_bar = df_bar.groupby('business_unit').site_id.count().reset_index()
st.bar_chart(data = df_bar, x = 'business_unit' , y = 'site_id')



# Replace with your actual values
connection_string = "DefaultEndpointsProtocol=https;AccountName=xxxxxxxxxxxxxxxxxxxxxx;AccountKey=xxxxxxxxxxxxxxx;EndpointSuffix=core.windows.net"
container_name = "container-xxxxxxx"
#local_file_path = "sample_input.csv"
blob_name = "sample_input.csv"

def upload_blob(connection_string, container_name, local_file_path , blob_name , df):
    # Create a BlobServiceClient
    blob_service_client = BlobServiceClient.from_connection_string(connection_string)

    # Create a container if it doesn't exist
    container_client = blob_service_client.get_container_client(container_name)
    
    # Upload the CSV file
    try:
        container_client.upload_blob(name = 'demo_input.csv', data = df.to_csv(), overwrite=True)
        st.write("file has been succesfully uploaded to the blob storage")
    except Exception as e:
        st.error("error uploading the file, please contact code owner")


        

步骤是什么?我以前从未创建过 databricks 应用程序。预先感谢!

python azure-blob-storage databricks streamlit
1个回答
0
投票

以下是如何在 databricks 中创建应用程序。

单击新建加号按钮并选择应用程序

enter image description here

接下来,对于内置模板,您选择 Streamlit 和应用程序类型。

enter image description here

您还可以选择自定义模板进行自定义。

创建后您将获得端点和部署。 enter image description here

在端点中,您可以查看应用程序,部署是您的文件所在的位置。

端点输出:

enter image description here

有关更多信息,请参阅此文档

© www.soinside.com 2019 - 2024. All rights reserved.