Scala için Databricks Bağlan kod örnekleri
Not
Bu makalede Databricks Runtime 13.3 LTS ve üzeri için Databricks Bağlan yer alır.
Bu makalede Scala için Databricks Bağlan kullanan kod örnekleri sağlanmaktadır. Databricks Bağlan popüler IDE'leri, not defteri sunucularını ve özel uygulamaları Azure Databricks kümelerine bağlamanızı sağlar. Bkz. Databricks Bağlan nedir?. Bu makalenin Python sürümü için bkz. Python için Databricks Bağlan için kod örnekleri.
Not
Databricks Bağlan kullanmaya başlamadan önce Databricks Bağlan istemcisini ayarlamanız gerekir.
Databricks, Databricks Bağlan kullanmayı gösteren birkaç ek örnek uygulama sağlar. Özellikle GitHub'da Databricks Bağlan deposu için örnek uygulamalara bakın:
Databricks Bağlan ile deneme yapmak için aşağıdaki daha basit kod örneklerini de kullanabilirsiniz. Bu örneklerde Databricks Bağlan istemci kurulumu için varsayılan kimlik doğrulamasını kullandığınız varsayılır.
Bu basit kod örneği, belirtilen tabloyu sorgular ve ardından belirtilen tablonun ilk 5 satırını gösterir. Farklı bir tablo kullanmak için çağrısını olarak spark.read.table
ayarlayın.
import com.databricks.connect.DatabricksSession
import org.apache.spark.sql.SparkSession
object Main {
def main(args: Array[String]): Unit = {
val spark = DatabricksSession.builder().getOrCreate()
val df = spark.read.table("samples.nyctaxi.trips")
df.limit(5).show()
}
}
Bu uzun kod örneği aşağıdakileri yapar:
- Bellek içi bir DataFrame oluşturur.
- Şema içinde
default
adıylazzz_demo_temps_table
bir tablo oluşturur. Bu ada sahip tablo zaten varsa, önce tablo silinir. Farklı bir şema veya tablo kullanmak için, çağrıları ,temps.write.saveAsTable
veya her ikisi olarakspark.sql
ayarlayın. - DataFrame'in içeriğini tabloya kaydeder.
- Tablonun içeriğinde bir
SELECT
sorgu çalıştırır. - Sorgunun sonucunu gösterir.
- Tabloyu siler.
import com.databricks.connect.DatabricksSession
import org.apache.spark.sql.SparkSession
import org.apache.spark.sql.types._
import java.time.LocalDate
object Main {
def main(args: Array[String]): Unit = {
val spark = DatabricksSession.builder().getOrCreate()
// Create a Spark DataFrame consisting of high and low temperatures
// by airport code and date.
val schema = StructType(
Seq(
StructField("AirportCode", StringType, false),
StructField("Date", DateType, false),
StructField("TempHighF", IntegerType, false),
StructField("TempLowF", IntegerType, false)
)
)
val data = Seq(
( "BLI", LocalDate.of(2021, 4, 3), 52, 43 ),
( "BLI", LocalDate.of(2021, 4, 2), 50, 38),
( "BLI", LocalDate.of(2021, 4, 1), 52, 41),
( "PDX", LocalDate.of(2021, 4, 3), 64, 45),
( "PDX", LocalDate.of(2021, 4, 2), 61, 41),
( "PDX", LocalDate.of(2021, 4, 1), 66, 39),
( "SEA", LocalDate.of(2021, 4, 3), 57, 43),
( "SEA", LocalDate.of(2021, 4, 2), 54, 39),
( "SEA", LocalDate.of(2021, 4, 1), 56, 41)
)
val temps = spark.createDataFrame(data).toDF(schema.fieldNames: _*)
// Create a table on the Databricks cluster and then fill
// the table with the DataFrame 's contents.
// If the table already exists from a previous run,
// delete it first.
spark.sql("USE default")
spark.sql("DROP TABLE IF EXISTS zzz_demo_temps_table")
temps.write.saveAsTable("zzz_demo_temps_table")
// Query the table on the Databricks cluster, returning rows
// where the airport code is not BLI and the date is later
// than 2021-04-01.Group the results and order by high
// temperature in descending order.
val df_temps = spark.sql("SELECT * FROM zzz_demo_temps_table " +
"WHERE AirportCode != 'BLI' AND Date > '2021-04-01' " +
"GROUP BY AirportCode, Date, TempHighF, TempLowF " +
"ORDER BY TempHighF DESC")
df_temps.show()
// Results:
// +------------+-----------+---------+--------+
// | AirportCode| Date|TempHighF|TempLowF|
// +------------+-----------+---------+--------+
// | PDX | 2021-04-03| 64 | 45 |
// | PDX | 2021-04-02| 61 | 41 |
// | SEA | 2021-04-03| 57 | 43 |
// | SEA | 2021-04-02| 54 | 39 |
// +------------+-----------+---------+--------+
// Clean up by deleting the table from the Databricks cluster.
spark.sql("DROP TABLE zzz_demo_temps_table")
}
}
Not
Aşağıdaki örnekte, Databricks Bağlan sınıfının kullanılamadığı durumlarda sınıfın DatabricksSession
nasıl kullanılacağı SparkSession
açıklanmaktadır.
Bu örnek, belirtilen tabloyu sorgular ve ilk 5 satırı döndürür. Bu örnekte kimlik doğrulaması için ortam değişkeni kullanılır SPARK_REMOTE
.
import org.apache.spark.sql.{DataFrame, SparkSession}
object Main {
def main(args: Array[String]): Unit = {
getTaxis(getSpark()).show(5)
}
private def getSpark(): SparkSession = {
SparkSession.builder().getOrCreate()
}
private def getTaxis(spark: SparkSession): DataFrame = {
spark.read.table("samples.nyctaxi.trips")
}
}
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin