小编Mil*_*avi的帖子

STL C++中的过去迭代器是什么?

任何人都可以解释我的意思是什么past-the-end.为什么我们将end()功能称为过去?

c++ stl

16
推荐指数
3
解决办法
8111
查看次数

如何在Java中的Apache Spark中将DataFrame转换为Dataset?

我可以很容易地将Scala中的DataFrame转换为Dataset:

case class Person(name:String, age:Long)
val df = ctx.read.json("/tmp/persons.json")
val ds = df.as[Person]
ds.printSchema
Run Code Online (Sandbox Code Playgroud)

但在Java版本中我不知道如何将Dataframe转换为Dataset?任何的想法?

我的努力是:

DataFrame df = ctx.read().json(logFile);
Encoder<Person> encoder = new Encoder<>();
Dataset<Person> ds = new Dataset<Person>(ctx,df.logicalPlan(),encoder);
ds.printSchema();
Run Code Online (Sandbox Code Playgroud)

但是编译器说:

Error:(23, 27) java: org.apache.spark.sql.Encoder is abstract; cannot be instantiated
Run Code Online (Sandbox Code Playgroud)

编辑(解决方案):

基于@Leet-Falcon答案的解决方案:

DataFrame df = ctx.read().json(logFile);
Encoder<Person> encoder = Encoders.bean(Person.class);
Dataset<Person> ds = new Dataset<Person>(ctx, df.logicalPlan(), encoder);
Run Code Online (Sandbox Code Playgroud)

java apache-spark spark-dataframe apache-spark-dataset

15
推荐指数
2
解决办法
2万
查看次数

使用案例类编码JSON时,为什么错误"无法找到存储在数据集中的类型的编码器"?

我写过火花工作:

object SimpleApp {
  def main(args: Array[String]) {
    val conf = new SparkConf().setAppName("Simple Application").setMaster("local")
    val sc = new SparkContext(conf)
    val ctx = new org.apache.spark.sql.SQLContext(sc)
    import ctx.implicits._

    case class Person(age: Long, city: String, id: String, lname: String, name: String, sex: String)
    case class Person2(name: String, age: Long, city: String)

    val persons = ctx.read.json("/tmp/persons.json").as[Person]
    persons.printSchema()
  }
}
Run Code Online (Sandbox Code Playgroud)

在IDE中运行main函数时,发生2错误:

Error:(15, 67) Unable to find encoder for type stored in a Dataset.  Primitive types (Int, String, etc) and Product types (case classes) are supported …
Run Code Online (Sandbox Code Playgroud)

scala apache-spark apache-spark-dataset apache-spark-encoders

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

是否可以将结构转换为另一个?

任何人都可以描述(struct sockaddr *)&server这里的运作方式 是否有可能将更大的结构转换为更小的结构?

看到这些结构:

// IPv4 AF_INET sockets:
struct sockaddr_in {
    short            sin_family;   // e.g. AF_INET, AF_INET6
    unsigned short   sin_port;     // e.g. htons(3490)
    struct in_addr   sin_addr;     // see struct in_addr, below
    char             sin_zero[8];  // zero this if you want to
};

struct in_addr {
    unsigned long s_addr;          // load with inet_pton()
};

struct sockaddr {
    unsigned short    sa_family;    // address family, AF_xxx
    char              sa_data[14];  // 14 bytes of protocol address
};
Run Code Online (Sandbox Code Playgroud)

这是主要计划:

int main(int argc , char …
Run Code Online (Sandbox Code Playgroud)

c sockets struct casting

14
推荐指数
2
解决办法
9305
查看次数

C++中抽象类和纯抽象类有什么区别?

例:

迭代器是纯粹的抽象:任何行为类似于迭代器的东西都是迭代器.

这是什么意思?

c++ oop abstract-class abstraction

12
推荐指数
4
解决办法
1万
查看次数

关联数组是什么意思?

我正在阅读C++标准库:教程和参考书.在地图示例中:

   typedef map<string,float> StringFloatMap;
   StringFloatMap coll;

   //insert some elements into the collection
   coll["VAT"] = 0.15;
   coll["Pi"] = 3.1415;
   coll["an arbitrary number"] = 4983.223;
   coll["Null"] = 0;
Run Code Online (Sandbox Code Playgroud)

作者说:

这里,索引用作键,可以是任何类型.这是关联数组的接口.关联数组是索引可以是任意类型的数组.

任何人都可以解释一下,关联数组中任意类型意味着什么?

c++ associative-array data-structures

11
推荐指数
1
解决办法
1万
查看次数

为什么在netfilter挂钩中清空临界区,发生`BUG:调度原子错误`?

我写过这个钩子:

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/netfilter.h>
#include <linux/netfilter_ipv4.h>
#include <linux/skbuff.h>
#include <linux/mutex.h>

static struct nf_hook_ops nfho;
static struct mutex critical_section;

unsigned int hook_func(unsigned int hooknum,
   struct sk_buff **skb,
   const struct net_device *in,
   const struct net_device *out,
   int (*okfn)(struct sk_buff *)) {

  mutex_lock(&critical_section);

  mutex_unlock(&critical_section);

  return NF_ACCEPT;
}

int init_module() {

  nfho.hook = hook_func;
  nfho.hooknum = NF_INET_PRE_ROUTING;
  nfho.pf = PF_INET;
  nfho.priority = NF_IP_PRI_FIRST;

  mutex_init(&critical_section);

  nf_register_hook(&nfho);

  return 0;
}

void cleanup_module() {
  nf_unregister_hook(&nfho);
}
Run Code Online (Sandbox Code Playgroud)

init部分:

  mutex_init(&queue_critical_section);
  mutex_init(&ioctl_critical_section);
Run Code Online (Sandbox Code Playgroud)

我已经定义了静态变量:

static struct mutex queue_critical_section; …
Run Code Online (Sandbox Code Playgroud)

c netfilter linux-device-driver linux-kernel mutual-exclusion

11
推荐指数
3
解决办法
2012
查看次数

Scala中的Seq和IndexedSeq/LinearSeq有什么区别?

Scala Collection文档中,这个问题有一些线索:

Trait Seq有两个子线段LinearSeq和IndexedSeq.这些不添加任何新操作,但每个都提供不同的性能特征:线性序列具有有效的头部和尾部操作,而索引序列具有有效的应用,长度和(如果可变的)更新操作.

但这不能解决我何时使用IndexedSeq而不是Seq?我需要一些真实的例子,IndexedSeq或者LinearSeq这些集合比这些更好Seq.

scala seq scala-collections

10
推荐指数
2
解决办法
6338
查看次数

JavaFX vs SWT?(优点和缺点)

我很困惑,不知道选择哪个:SWT/JFace或JavaFX.哪一个更好?我知道SWT是原生的,但是JavaFX本机还是不是原生的?使用原生UI是重要的,还是JavaFX是最佳选择?

user-interface swt javafx

9
推荐指数
2
解决办法
8443
查看次数

如何在Linux网络堆栈的特定点推送skb?

我想把skb推到preroutingLinux网络堆栈.有没有办法做到这一点?我使用dev_queue_xmit()netif_rx()功能,但我不认为他们可以推动skb在preroutingLinux网络堆栈.

在此输入图像描述

c kernel network-programming linux-device-driver linux-kernel

8
推荐指数
1
解决办法
1330
查看次数