diff --git a/02_LAB_Notebook/lab02_01_carga_csv.ipynb b/02_LAB_Notebook/lab02_01_carga_csv.ipynb index 850e156..7920ce6 100644 --- a/02_LAB_Notebook/lab02_01_carga_csv.ipynb +++ b/02_LAB_Notebook/lab02_01_carga_csv.ipynb @@ -4,10 +4,7 @@ "cell_type": "markdown", "metadata": { "application/vnd.databricks.v1+cell": { - "cellMetadata": { - "byteLimit": 2048000, - "rowLimit": 10000 - }, + "cellMetadata": {}, "inputWidgets": {}, "nuid": "c2f79591-d1a0-44d5-b219-5a067c9f91ab", "showTitle": false, @@ -22,10 +19,7 @@ "cell_type": "markdown", "metadata": { "application/vnd.databricks.v1+cell": { - "cellMetadata": { - "byteLimit": 2048000, - "rowLimit": 10000 - }, + "cellMetadata": {}, "inputWidgets": {}, "nuid": "b7cc1fdd-f01b-4c1c-835a-df403bf26cd1", "showTitle": false, @@ -44,10 +38,7 @@ "cell_type": "markdown", "metadata": { "application/vnd.databricks.v1+cell": { - "cellMetadata": { - "byteLimit": 2048000, - "rowLimit": 10000 - }, + "cellMetadata": {}, "inputWidgets": {}, "nuid": "62dd77a1-0e46-4afe-95ff-14bfa7dac629", "showTitle": false, @@ -66,10 +57,7 @@ "cell_type": "markdown", "metadata": { "application/vnd.databricks.v1+cell": { - "cellMetadata": { - "byteLimit": 2048000, - "rowLimit": 10000 - }, + "cellMetadata": {}, "inputWidgets": {}, "nuid": "5af31e35-6373-417e-99d3-bfb57c499fd2", "showTitle": false, @@ -87,10 +75,7 @@ "cell_type": "markdown", "metadata": { "application/vnd.databricks.v1+cell": { - "cellMetadata": { - "byteLimit": 2048000, - "rowLimit": 10000 - }, + "cellMetadata": {}, "inputWidgets": {}, "nuid": "05476df0-f786-4202-8ebe-2c2e500320ea", "showTitle": false, @@ -123,8 +108,9 @@ "from pyspark.sql import SparkSession\n", "\n", "url = f\"https://raw.githubusercontent.com//Databricks-BR/lab_sql/main/dados/\"\n", - "catalog_name = f\"academy\"\n", - "prefix_table = f\"bronze\"\n" + "#catalog_name = f\"academy\"\n", + "prefix_table = f\"bronze\"\n", + "catalog_name = f\"vr_demo\"\n" ] }, { @@ -144,7 +130,7 @@ }, "outputs": [], "source": [ - "#schema_name = f\"<<<<<-----COLOQUE SEU USER NAME AQUI --------->>>>\"\n" + "schema_name = f\"sql_lab\"\n" ] }, { @@ -320,15 +306,42 @@ "s_df = spark.createDataFrame(df) # converte Dataframe Pandas em Spark Dataframe\n", "s_df.write.mode(\"overwrite\").saveAsTable(table_name) # grava o DataFrame na Tabela Delta" ] + }, + { + "cell_type": "code", + "execution_count": 0, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "1bad1539-ad4c-4e94-9180-800308242f64", + "showTitle": true, + "title": "Gravando a tabela DELTA - avaliacoes" + } + }, + "outputs": [], + "source": [ + "%python\n", + "\n", + "entity_name = f\"avaliacoes\"\n", + "\n", + "table_name = f\"{catalog_name}.{schema_name}.{prefix_table}_{entity_name}\"\n", + "file_name = f\"{url}{entity_name}.csv\"\n", + "\n", + "df = pd.read_csv(file_name) # leitura arquivo CSV utilizando Dataframe Pandas\n", + "s_df = spark.createDataFrame(df) # converte Dataframe Pandas em Spark Dataframe\n", + "s_df.write.mode(\"overwrite\").saveAsTable(table_name) # grava o DataFrame na Tabela Delta" + ] } ], "metadata": { "application/vnd.databricks.v1+notebook": { "dashboards": [], + "environmentMetadata": null, "language": "python", "notebookMetadata": { "mostRecentlyExecutedCommandWithImplicitDF": { - "commandId": 597306790085131, + "commandId": 3477183818099198, "dataframes": [ "_sqldf" ] diff --git a/07_LAB_SQL_Gen_AI/README.md b/07_LAB_SQL_Gen_AI/README.md index cdd482b..bb8bada 100644 --- a/07_LAB_SQL_Gen_AI/README.md +++ b/07_LAB_SQL_Gen_AI/README.md @@ -5,7 +5,7 @@ Treinamento Hands-on na plataforma Databricks com foco nas funcionalidades de Analytics (SQL, Query, Dask, DataViz, SQL end-point). -## Exercício 07.01 - Sobre as Funcionalidades: +## Sobre as Funcionalidades: Uma forma de aplicar os modelos de IA Generativa é utilizar as Databricks AI SQL Functions. @@ -32,15 +32,23 @@ Existem funções nativas para executar tarefas pré-definidas ou enviar qualque



-Para esse exercício, vamos explorar as funcionalidades citadas, conforme exemplo abaixo: +Para esse exercício, vamos explorar as funcionalidades citadas, conforme os exercícios abaixo: -``` md +## Exercício 07.01 - Usando uma função de IA -SELECT ai_translate('Hello, how are you?', 'br') as traducao; +``` md +SELECT ai_gen("Crie uma breve avaliação de produto em português, onde o cliente está muito satisfeito com o vestido comprado."); +``` +

+## Exercício 07.02 - Aplicando funções de IA Genereativa em uma base de dados ``` +USE academy.; +SELECT ai_analyze_sentiment(avaliacao) AS sentimento, ai_extract(avaliacao, ARRAY('produto')) AS produtos FROM bronze_avaliacoes; +``` +



diff --git a/08_LAB_Genie/README.md b/08_LAB_Genie/README.md new file mode 100644 index 0000000..c77b7dc --- /dev/null +++ b/08_LAB_Genie/README.md @@ -0,0 +1,33 @@ + + +# Hands-On LAB 07 - Genie + +Treinamento Hands-on na plataforma Databricks com foco nas funcionalidades de Analytics (SQL, Query, Dask, DataViz, SQL end-point). + + +## Sobre a Genie: + +Em geral, todas as pessoas que atuam em uma empresa precisam executar algum tipo de análise de dados de alguma forma no seu dia-a-dia. No entanto, nem todas essas pessoas dominam linguagens de programação e acabam não tendo acesso às ferramentas mais avançadas. + +A Databricks criou a Genie justamente para atender esse perfil de usuários e ajudar a democratizar o acesso aos dados. Através da Genie, basta fazer perguntas de negócio, usando linguagem natural, e ela ficará encarrageda de fazer todo o trabalho para trazer as respostas! + +Vamos começar! + + +

+## Exercício 08.01 - Criando um Genie Space +1. Clique em New > Genie Space +1. Configure a Genie + 1. Dê um nome + 1. Selecione seu cluster + 1. Selecione as tabelas + 1. Clique em criar + +

+## Exercício 08.02 - Criando um Genie Space +1. Faça suas perguntas + +

+

+ + diff --git a/dados/avaliacoes.csv b/dados/avaliacoes.csv new file mode 100644 index 0000000..07e97b2 --- /dev/null +++ b/dados/avaliacoes.csv @@ -0,0 +1,11 @@ +data,id_avaliacao,id_cliente,avaliacao +2022-01-01,123456789,1,Comprei o celular XYZ e estou muito satisfeito com a qualidade da câmera e da tela. O design é moderno e elegante. A bateria dura bastante tempo e o desempenho é excelente. Recomendo! +2022-01-02,234567890,2,"Comprei o notebook ABC e estou muito insatisfeito com a qualidade da tela. As cores são fracas e a resolução é baixa. Além disso, o desempenho é lento e trava com frequência. Não recomendo!" +2022-01-03,345678901,3,"Comprei o fone de ouvido DEF e estou neutro em relação ao produto. A qualidade do som é boa, mas o design é simples demais. O preço é justo, mas existem opções melhores no mercado." +2022-01-04,456789012,4,"Comprei o tablet GHI e estou muito insatisfeito com a qualidade da bateria. Ela dura muito pouco tempo e demora muito para carregar. Além disso, o desempenho é lento e trava com frequência. Não recomendo!" +2022-01-05,567890123,5,"Comprei o celular JKL e estou neutro em relação ao produto. A qualidade da câmera é boa, mas o design é simples demais. O preço é justo, mas existem opções melhores no mercado." +2022-01-06,678901234,6,"Comprei o notebook MNO e estou muito insatisfeito com a qualidade da bateria. Ela dura muito pouco tempo e demora muito para carregar. Além disso, o desempenho é lento e trava com frequência. Não recomendo!" +2022-01-07,789012345,7,Comprei o fone de ouvido PQR e estou muito satisfeito com a qualidade do som. Ele é nítido e potente. O design é moderno e confortável. Recomendo! +2022-01-08,890123456,8,"Comprei o tablet STU e estou muito insatisfeito com a qualidade da tela. As cores são fracas e a resolução é baixa. Além disso, o desempenho é lento e trava com frequência. Não recomendo!" +2022-01-09,901234567,9,"Comprei o celular VWX e estou neutro em relação ao produto. A qualidade da câmera é boa, mas o design é simples demais. O preço é justo, mas existem opções melhores no mercado." +2022-01-10,123456780,10,"Comprei o notebook YZA e estou muito insatisfeito com a qualidade da bateria. Ela dura muito pouco tempo e demora muito para carregar. Além disso, o desempenho é lento e trava com frequência. Não recomendo!"