小编mrb*_*man的帖子

获取选择中元素的类型

如何找到 d3 选择的基础元素?

我尝试d3.select(elem).node()给出整个节点,而不仅仅是元素。我还检查了(在 v5 中)是否存在_groups,并且我可能会从那里派生该元素。但是有没有更直接的方法呢?

编辑

例如

var svg = d3.select('svg');
renderChart(svg);

...

var g = d3.select('g');
renderChart(g);


function renderChart(element){
  // I want to find out here if the element (selection) passed
  // is "svg" or a "g", and then take appropriate action

  // element.node() is giving me the whole object -- not just that particular element

  if (<tbd> == "svg"){
     // take action here
  }
}
Run Code Online (Sandbox Code Playgroud)

element.node()在上面的例子中返回一个对象。例如,在 的情况下svg,它在 Chrome 控制台中看起来像这样

在此处输入图片说明

在我的真实案例中,我有一个必须在 …

javascript d3.js

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

如何在 UDAF 中的 MutableAggregationBuffer 中添加/改变 Map 对象?

我使用 Spark 2.0.1 和 Scala 2.11。

这是一个与 Spark 中用户定义聚合函数(UDAF)相关的问题。我使用此处提供的示例答案来提出我的问题:

import org.apache.spark.sql.expressions._
import org.apache.spark.sql.types._
import org.apache.spark.sql.functions.udf
import org.apache.spark.sql.{Row, Column}

object DummyUDAF extends UserDefinedAggregateFunction {
  def inputSchema = new StructType().add("x", StringType)
  def bufferSchema = new StructType()
    .add("buff", ArrayType(LongType))
    .add("buff2", ArrayType(DoubleType))
  def dataType = new StructType()
    .add("xs", ArrayType(LongType))
    .add("ys", ArrayType(DoubleType))
  def deterministic = true 
  def initialize(buffer: MutableAggregationBuffer) = {}
  def update(buffer: MutableAggregationBuffer, input: Row) = {}
  def merge(buffer1: MutableAggregationBuffer, buffer2: Row) = {}
  def evaluate(buffer: Row) = (Array(1L, 2L, 3L), Array(1.0, …
Run Code Online (Sandbox Code Playgroud)

scala apache-spark apache-spark-sql

2
推荐指数
1
解决办法
2072
查看次数