apache-spark-dataset相关内容
我一直认为数据集/数据框架API相同.唯一的区别是,数据集API将为您提供编译时安全性.是吗? 所以..我有一个非常简单的案例: case class Player (playerID: String, birthYear: Int) val playersDs: Dataset[Player] = session.read .option("header", "true")
..
Spark 2.0(最终版)和Scala 2.11.8.以下超级简单代码产生编译错误Error:(17, 45) Unable to find encoder for type stored in a Dataset. Primitive types (Int, String, etc) and Product types (case classes) are supported by impor
..
当我尝试在代码中执行如下所述的相同操作时 dataframe.map(row => { val row1 = row.getAs[String](1) val make = if (row1.toLowerCase == "tesla") "S" else row1 Row(row(0),make,row(2)) }) 我从这里引用了上面的参考: Scala:如何使用Scal
..
假设我们的DataFrame df由以下几列组成: 名称,姓氏,大小,宽度,长度,称重 现在,我们要执行几个操作,例如,我们要创建几个DataFrame,其中包含有关Size和Width的数据. val df1 = df.groupBy("surname").agg( sum("size") ) val df2 = df.groupBy("surname").agg( sum("
..
从spark 2.0.1开始,我遇到了一些问题.我阅读了很多文档,但到目前为止找不到足够的答案: 之间有什么区别 df.select("foo") df.select($"foo") 我是否正确理解 myDataSet.map(foo.someVal)是类型安全的,不会转换为RDD,而是保留在DataSet表示中/没有额外的开销(对于2.0.0而言,是明智的选择) 所有其他
..
我只是想知道RDD和DataFrame (Spark 2.0.0 DataFrame是Dataset[Row]的纯类型别名)之间的区别是什么?? 可以将一个转换为另一个吗? 解决方案 通过Google搜索"DataFrame definition",很好地定义了DataFrame: 数据帧是表格或二维数组状结构, 其中每一列包含对一个变量的度量,每一行包含 包含一个案例.
..
根据 Spark数据集: 当我们期待Spark 2.0时,我们计划对数据集进行一些激动人心的改进,特别是: ... 自定义编码器–虽然我们目前可以自动生成多种类型的编码器,但我们想为自定义对象打开一个API. 并尝试将自定义类型存储在Dataset中会导致以下错误,例如: 无法找到数据集中存储的类型的编码器.导入sqlContext.implicits支持基本类型(Int,Str
..
在编写实木复合地板文件时出现此错误,这种情况最近开始发生 com.amazon.ws.emr.hadoop.fs.shaded.com.amazonaws.services.s3.model.AmazonS3Exception: Please reduce your request rate. (Service: Amazon S3; Status Code: 503; Error Code
..
我有一个仅包含标题(id,name,age)和0行的数据集. 我想使用 将其作为csv文件写入hdfs位置 DataFrameWriter dataFrameWriter = dataset.write(); Map csvOptions = new HashMap(); csvOptions.put("header", "true"); dataFrame
..
我有一个包含以下数据的CSV文件: 1,2,5 2,4 2,3 我想将它们加载到具有数组字符串模式的数据框中 输出应如下所示. [1, 2, 5] [2, 4] [2, 3] 已在此处使用scala对此进行了回答: Spark:将字符串列转换为数组 我想让它在Java中实现. 请帮助 解决方案 下面是Java中的示例代码.您需要使用sp
..
SparkContext, JavaSparkContext, SQLContext和SparkSession有什么区别? 是否有使用SparkSession转换或创建上下文的方法? 我可以使用一个单独的条目SparkSession完全替换所有上下文吗? SQLContext,SparkContext和JavaSparkContext中的所有功能也都在SparkSession中吗? 某些功
..
我正在使用spark 2.0.1,并希望用列中的最后一个已知值来填充nan值. 关于火花的唯一参考资料,我可以找到 Spark/Scala:向前填充最后一次观察或用以前的空值填充pyspark 具有很好的价值,它似乎使用了RDD. 我想留在数据框/数据集世界中,并可能处理多个nan值. 这可能吗? 我的假设是,数据(最初是从CSV文件中加载的)是按时间排序的,并且此顺序保留在分布
..
在使用Spark的缓存机制时,我遇到了内存管理问题.我目前在Kryo中使用Encoder,并且想知道切换到Bean是否可以帮助我减少缓存数据集的大小. 基本上,在使用Encoder时,在Kryo序列化上使用bean的优缺点是什么?是否有任何性能改进?除了使用SER选项进行缓存外,是否有办法压缩缓存的Dataset? 记录下来,我发现了一个类似的主题解决了两者之间的比较.但是,此比较没有
..
我是新手,无法解决以下问题的解决方案. 我有一个JSON文件要解析,然后创建几个度量标准并将数据写回JSON格式. 现在,以下是我正在使用的代码 import org.apache.spark.sql._ import org.apache.log4j.{Level, Logger} import org.apache.spark.sql.functions._ object
..
我喜欢Spark数据集,因为它们在编译时为我提供了分析错误和语法错误,还使我可以使用getter而不是硬编码的名称/数字.大多数计算都可以使用Dataset的高级API来完成.例如,与使用RDD行的数据字段相比,通过访问数据集类型的对象来执行 agg,选择,求和,平均,映射,过滤或groupBy 操作要简单得多. 但是,缺少联接操作,我读到我可以像这样进行联接 ds1.joinWith
..
我想为行类型。基本上,我不明白如何编写编码器。 下面是一个地图操作示例: 在下面的示例中,我不想返回数据集,而是返回数据集 数据集<字符串> output = dataset1.flatMap(new FlatMapFunction(){ @Override public Iterator
..
我们如何覆盖分区数据集,但只有我们要更改的分区?例如,重新计算上周每天的工作,并且只重写上周的数据。 默认的Spark行为是覆盖整个表,即使只有一些分区将要写出来。 解决方案 自从Spark 2.3.0覆盖表格时,这是一个选项。要覆盖它,您需要将新的 spark.sql.sources.partitionOverwriteMode 设置设置为 dynamic ,数据集需要被分区,写模
..
最近我想从Spark Summit 2016开始做Spark Spark学习实验室。培训视频是 here 和导出的笔记本可用此处 实验室中使用的数据集可从 UCI机器学习资料库。它包含一组来自燃气发电厂的各种传感器的读数。格式为xlsx文件,带有五张。 要使用实验室中的数据,我需要从Excel文件中读取所有表格,并将其连接成一个Spark DataFrame 。在培训期间,他们正在使用
..
我有一个 RDD [LabeledPoint] 旨在在机器学习管道中使用。我们如何将 RDD 转换为 DataSet ?注意新的 spark.ml apis需要输入数据集格式。 解决方案 这是一个通过额外步骤的答案 - DataFrame 。我们使用 SQLContext 创建一个 DataFrame ,然后创建一个 DataSet 使用所需的对象类型 - 在这种情况下,一个 Labele
..
我仍然在努力了解最近推出的Spark数据集的全部功能。 是否有何时使用RDDS最佳实践,以及何时使用的数据集? 在他们的公告 Databricks解释说,通过使用在这两个运行时和存储器的数据集惊人的减少可以实现。它仍然声称数据集设计'''除了已有的RDD API的工作“。 这是只是为了向下兼容参考还是有方案,其中一个将preFER使用RDDS在数据集? 解决方案 在这个时刻(星火1.
..