yapabilirsiniz ya kullanım satırları istiyorum: Örneğin
büyük/küçük harfe duyarlı normal ifade:
val df = sc.parallelize(Seq(
(1L, "Fortinet"), (2L, "foRtinet"), (3L, "foo")
)).toDF("k", "v")
df.where($"v".rlike("(?i)^fortinet$")).show
// +---+--------+
// | k| v|
// +---+--------+
// | 1|Fortinet|
// | 2|foRtinet|
// +---+--------+
ya lower
/upper
basit eşitlik: performans benzer olmalıdır rağmen
import org.apache.spark.sql.functions.{lower, upper}
df.where(lower($"v") === "fortinet")
// +---+--------+
// | k| v|
// +---+--------+
// | 1|Fortinet|
// | 2|foRtinet|
// +---+--------+
df.where(upper($"v") === "FORTINET")
// +---+--------+
// | k| v|
// +---+--------+
// | 1|Fortinet|
// | 2|foRtinet|
// +---+--------+
basit filtreler için ben join
koşulları için eşitlik çok daha iyi bir seçimdir, rlike
tercih ediyorum. Detaylar için bakınız How can we JOIN two Spark SQL dataframes using a SQL-esque "LIKE" criterion?.
zero3232 @ tüm tabloyla bu sorun var. Demek istediğim, uygulamamın büyük/küçük harfe duyarlı bir sonuç vermesi gerekiyor. SQLServer gibi sonuçlar alabileceğim herhangi bir çözüm var mı (her zaman durumun göz ardı edildiği yerde)? –