Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 火花中的Alluxio(快子)和钨的区别?_Apache Spark_Apache Spark Sql_Rdd_Alluxio - Fatal编程技术网

Apache spark 火花中的Alluxio(快子)和钨的区别?

Apache spark 火花中的Alluxio(快子)和钨的区别?,apache-spark,apache-spark-sql,rdd,alluxio,Apache Spark,Apache Spark Sql,Rdd,Alluxio,Tachyon是一种分布式内存存储系统,与Spark分开开发,在Spark应用程序中可用作堆外持久性存储 worth是一个新的sparksql组件,它通过直接在字节级别工作来提供更高效的Spark操作。由于worth不再依赖于使用Java对象,因此我们可以使用堆内(在JVM中)或堆外存储 在堆外模式下,两者都可以减少垃圾收集开销,因为数据不是作为Java对象存储的 P>我可以简单地考虑TaCHYON对一般RDD带来的好处,而SkySQL受益于钨? 假设下面的代码 val df = spark.

Tachyon是一种分布式内存存储系统,与Spark分开开发,在Spark应用程序中可用作堆外持久性存储

worth是一个新的sparksql组件,它通过直接在字节级别工作来提供更高效的Spark操作。由于worth不再依赖于使用Java对象,因此我们可以使用堆内(在JVM中)或堆外存储

在堆外模式下,两者都可以减少垃圾收集开销,因为数据不是作为Java对象存储的

<> P>我可以简单地考虑TaCHYON对一般RDD带来的好处,而SkySQL受益于钨? 假设下面的代码

val df = spark.range(10)

val rdd = df.rdd

df.persist(StorageLevel.OFF_HEAP) // in Tungsten format(bytes)?

df.show

rdd.persist(StorageLevel.OFF_HEAP) // in Tachyon storage ?

rdd.count

Alluxio获得了内存速度读/写操作的好处。Spark能够从Alluxio(内存存储系统)读取数据。这样做的好处是避免了来自硬盘的输入/输出(IO)(硬盘上的任何文件系统,如HDFS等)

钨-是spark的后端优化引擎。Catalyst Optimizer以逻辑/优化的逻辑计划的形式对数据帧/数据集API或Spark SQL中编写的代码进行优化。一旦这个阶段结束,Wonder optimization engine将接管并负责动态生成代码(称为“代码生成”),该代码针对分布式环境的执行进行了高度优化

对我来说,两者都有不同的用途,我更愿意将它们分开处理


希望在某种程度上有所帮助。

Alluxio获得了内存速度读/写操作的好处。Spark能够从Alluxio(内存存储系统)读取数据。这样做的好处是避免了来自硬盘的输入/输出(IO)(硬盘上的任何文件系统,如HDFS等)

钨-是spark的后端优化引擎。Catalyst Optimizer以逻辑/优化的逻辑计划的形式对数据帧/数据集API或Spark SQL中编写的代码进行优化。一旦这个阶段结束,Wonder optimization engine将接管并负责动态生成代码(称为“代码生成”),该代码针对分布式环境的执行进行了高度优化

对我来说,两者都有不同的用途,我更愿意将它们分开处理


希望在某种程度上有所帮助。

简而言之,你的两种说法都不正确:

  • 由于Spark 1.6的堆外存储不再使用Alluxio,而是使用Spark的内部堆外存储。例如,参见SPARK-16025
  • Spark SQL中的所有存储模式都以内部二进制格式存储数据,可以使用
    Spark.SQL.inMemoryColumnarStorage.*
    properties进一步配置

简而言之,您的两种说法都不正确:

  • 由于Spark 1.6的堆外存储不再使用Alluxio,而是使用Spark的内部堆外存储。例如,参见SPARK-16025
  • Spark SQL中的所有存储模式都以内部二进制格式存储数据,可以使用
    Spark.SQL.inMemoryColumnarStorage.*
    properties进一步配置

Spark与Alluxio和钨在不同阶段进行数据交互

对于Spark,Alluxio是一个外部分布式存储系统,与HDFS类似。Spark通过文件系统接口与Alluxio交互(参见下面的示例)。它本质上与Spark访问HDFS或本地文件系统的接口相同,但Alluxio提供的存储服务除外,它可以利用内存作为存储介质

// save data as text file to Alluxio
> rdd.saveAsTextFile("alluxio://localhost:19998/rdd1")
// read data as text file from Alluxio
> rdd = sc.textFile("alluxio://localhost:19998/rdd1")
// save data as object file to Alluxio
> rdd.saveAsObjectFile("alluxio://localhost:19998/rdd2")
// read data as object file from Alluxio
> rdd = sc.objectFile("alluxio://localhost:19998/rdd2")
Spark仅在读取输入数据文件和写入输出文件的阶段与Alluxio交互

钨是Spark的内部数据表示,旨在提高内存和CPU的效率。实际上,由于内存空间和GC开销,JVM对象的默认内存布局对于Spark应用程序来说是低效的(请参阅DataRicks上的项目)。Worth帮助Spark直接从二进制数据格式处理数据,而无需麻烦JVM构造JVM对象


因此,Spark应用程序可能会从Alluxio读取输入文件——Alluxio在不理解这些字节的情况下发送Spark字节,然后解析数据,并根据Wonder定义的协议在Spark内部表示。

Spark与Alluxio和Wonder在不同阶段进行数据交互

对于Spark,Alluxio是一个外部分布式存储系统,与HDFS类似。Spark通过文件系统接口与Alluxio交互(参见下面的示例)。它本质上与Spark访问HDFS或本地文件系统的接口相同,但Alluxio提供的存储服务除外,它可以利用内存作为存储介质

// save data as text file to Alluxio
> rdd.saveAsTextFile("alluxio://localhost:19998/rdd1")
// read data as text file from Alluxio
> rdd = sc.textFile("alluxio://localhost:19998/rdd1")
// save data as object file to Alluxio
> rdd.saveAsObjectFile("alluxio://localhost:19998/rdd2")
// read data as object file from Alluxio
> rdd = sc.objectFile("alluxio://localhost:19998/rdd2")
Spark仅在读取输入数据文件和写入输出文件的阶段与Alluxio交互

钨是Spark的内部数据表示,旨在提高内存和CPU的效率。实际上,由于内存空间和GC开销,JVM对象的默认内存布局对于Spark应用程序来说是低效的(请参阅DataRicks上的项目)。Worth帮助Spark直接从二进制数据格式处理数据,而无需麻烦JVM构造JVM对象


因此,Spark应用程序可能会从Alluxio读取输入文件——Alluxio发送Spark字节而不理解这些字节,然后解析数据并根据协议定义在Spark内部表示。

谢谢,我通过了JIRA,现在rdd使用内部堆外存储。对于第二个语句,我阅读了一些文档,知道它是一种列式内部字节格式,而wown扮演着一个优化器的角色,它可以在运行中直接处理二进制格式。谢谢,我通过了JIRA,现在rdd使用了内部堆外存储。对于第二个语句,我阅读了一些文档,知道它是一种列式内部字节格式,而wown扮演着一个优化器的角色,它可以非常好地工作