小编Har*_*hit的帖子

如何推断 Spark SQL 中序列化 JSON 列的架构?

我有一个表,其中有 1 列是序列化的 JSON。我想在此 JSON 列上应用架构推断。我不知道作为 JSON 提取输入的模式(例如:from_json 函数)。

我可以在 Scala 中这样做

val contextSchema = spark.read.json(data.select("context").as[String]).schema
val updatedData = data.withColumn("context", from_json(col("context"), contextSchema))
Run Code Online (Sandbox Code Playgroud)

如何将此解决方案转换为纯 Spark-SQL?

json apache-spark apache-spark-sql pyspark

5
推荐指数
1
解决办法
5512
查看次数

如何使方法参数评估变得懒惰?

我的代码中有一个调试日志语句,我将代价高昂的方法调用结果传递给它。

log.debug("Data - {}", obj.costlyMethodCall());
Run Code Online (Sandbox Code Playgroud)

现在,即使调试日志被禁用,obj.costlyMethodCall()也将始终被评估为作为方法参数传递。

缓解这种情况的一种方法是明确检查是否启用了调试日志记录

if (log.isDebugEnabled()) {
  log.debug("Data - {}", obj.costlyMethodCall());
}
Run Code Online (Sandbox Code Playgroud)

但这会降低代码的可读性。

有没有更好的方法可以在这里懒惰或有条件地调用obj.costlyMethodCall()

java

3
推荐指数
1
解决办法
64
查看次数

标签 统计

apache-spark ×1

apache-spark-sql ×1

java ×1

json ×1

pyspark ×1