Dans ce tutoriel Snowflake, nous allons voir comment faire en Scala pour :
- Créer une base de données Snowflake
- Comment créer une table Snowflake grâce à la dépendance JDBC de Snowflake
- Comment s’y connecter
Prérequis
- Avoir un compte Snowflake
- Avoir des connaissances de base en Scala et d’un IDE pour lancer les programmes Scala
Installation du pilote JDBC Snowflake
Il est possible de récupérer le pilote JDBC Snowflake via le référentiel Maven, ou en récupérant la dépendance Maven comme indiqué ci-dessous. Sélectionnez la dernière version disponible du référentiel Maven.
<dependency>
<groupId>net.snowflake</groupId>
<artifactId>snowflake-jdbc</artifactId>
<version>3.12.0</version>
</dependency>
Créer une base de données Snowflake depuis la console Web
Pour créer une base de données :
- Connectez-vous sur la console Web de Snowflake
- Cliquez sur “Databases” à partir du menu, puis l’option “Create Database”
- Dans le champs “Name”, entrez le nom souhaité
- Cliquez sur le bouton “Finish”
Créer une table Snowflake en Scala
Il est possible de créer une table Snowflake de deux manières : En utilisant la console Web Snowflake, ou via du code Scala. Pour cette deuxième solution, les étapes à suivre ci-dessous vous permettent d’exécuter une instruction LDD (Langage de Définition de Données) “create table” en Scala.
Paramètres de connexion
Pour se connecter à la table Snowflake depuis le code Scala, il est nécessaire de fournir un minimum de propriétés :
account
: nom du compte, récupérable depuis l’url. Ex : “oea82”user
: nom d’utilisateur Snowflake, typiquement le nom de compte utilisé pour l’authentificationpassword
: mot de passe associé à l’utilisateurwarehouse
: nom du data warehouse Snowflakedb
: nom de la base de données Snowflakeschema
: schema de la base de données auxquelles appartiennent les tablesrole
: rôle utilisateur Snowflake
val properties = new java.util.Properties() properties.put("user", "user") properties.put("password", "#########") properties.put("account", "oea82") properties.put("warehouse", "mywh") properties.put("db", "EMP") properties.put("schema", "public") properties.put("role","ACCOUNTADMIN")
Chaîne de connexion JDBC
Pour se connecter via le driver JDBC, il est nécessaire de fournir la chaîne de connexion à Snowflake. Il s’agit de l’URL du compte Snowflake qui contient le nom du compte, suivi du nom de la région et se terminant par snowflakecomputing.com.
val jdbcUrl = "jdbc:snowflake://oea82.us-east-1.snowflakecomputing.com/"
Etablir la connexion avec la base de données Snowflake
Afin d’établir la connexion avec Snowflake, utilisez Java DriverManager.getConnection()
. Cette méthode prend en paramètre l’URL de connexion JDBC ainsi que les propriétés ci-dessus.
val connection = DriverManager.getConnection(jdbcUrl, properties)
Création d’une instruction & exécution d’une requête pour créer une table
Tout comme ANSI SQL, vous pouvez utiliser la syntaxe CREATE TABLE
ou CREATE OR REPLACE TABLE
.
val statement = connection.createStatement statement.executeUpdate("create or replace table EMPLOYEE(name VARCHAR, department VARCHAR, salary number)") statement.close
Example final de la création d’une table Snowflake en Scala
import java.sql.DriverManager object CreateSnowflakeTable extends App{ val properties = new java.util.Properties() properties.put("user", "username") properties.put("password", "######1") properties.put("account", "oea82") properties.put("warehouse", "mywh") properties.put("db", "EMP") properties.put("schema", "public") properties.put("role","ACCOUNTADMIN") // Chaîne de caractères de connexion JDBC val jdbcUrl = "jdbc:snowflake://oea82.us-east-1.snowflakecomputing.com/" println("Création de la connection JDBC") val connection = DriverManager.getConnection(jdbcUrl, properties) println("Fin de la création de la connexion JDBC") println("Création d'une instruction JDBC") val statement = connection.createStatement // Créer une table println("Création de la table EMPLOYEE") statement.executeUpdate("create or replace table EMPLOYEE(name VARCHAR, department VARCHAR, salary number)") statement.close println("Création de la table EMPLOYEE terminée") connection.close() println("Clôture de la connexion") }
Cet example de Snowflake avec Scala est également disponible sur GitHub pour référence.
Conclusion
Dans ce tutoriel, nous avons vu comment créer une base de données Snowflake et exécuter une instruction LDD, dans notre cas l’exécution d’une requête SQL pour créer une table Snowflake.
Related Articles
- Scala – Create Snowflake table programmatically
- Java- Create Snowflake table programmatically
- Snowflake – CREATE TABLE LIKE
- Spark Write DataFrame to Snowflake table
- Snowflake Create, Clone, Drop Database
- How to Load JSON file into Snowflake table
- Load file from Amazon S3 into Snowflake table
Référence:
Bon apprentissage !!