apache-spark-dataset相关内容
我是 Scala 的新手.我正在尝试将 Scala 列表(它保存源 DataFrame 上某些计算数据的结果)转换为 Dataframe 或 Dataset.我没有找到任何直接的方法来做到这一点.但是,我尝试了以下过程将我的列表转换为 DataSet,但它似乎不起作用.我提供以下 3 种情况. 有人能给我一些希望吗,如何进行这种转换?谢谢. import org.apache.spark.
..
我有一个格式的 Spark 数据集 - +--------------+--------+-----+|名称 |类型 |成本 |+--------------+--------+-----+|AAAAAAAAAAAAAAA|XXXXX |0.24||AAAAAAAAAAAAAAA|YYYYYY |1.14||BBBBBBBBBBBBBB|XXXXX |0.78||BBBBBBBBBBBBBB|Y
..
我想为我的数据集行分配一个唯一的 ID.我知道有两个实现选项: 第一个选项: import org.apache.spark.sql.expressions.Window;ds.withColumn("id",row_number().over(Window.orderBy("a column"))) 第二个选项: df.withColumn("id", monotonically_i
..
我需要按特定顺序遍历数据框并应用一些复杂的逻辑来计算新列. 在下面的示例中,我将使用简单的表达式,其中 s 的当前值是所有先前值的乘积,因此这似乎可以使用 UDF 甚至解析函数来完成.然而,实际上逻辑要复杂得多. 下面的代码做了需要的事情 import org.apache.spark.sql.Row导入 org.apache.spark.sql.types._导入 org.apac
..
我有一堆列,例如我的数据显示如下所示.我需要检查列是否有错误,并且必须生成两个输出文件.我正在使用 Apache Spark 2.0,我想以一种有效的方式做到这一点. 架构详细信息---------------EMPID - (NUMBER)ENAME - (STRING,SIZE(50))性别 - (STRING,SIZE(1))数据----EMPID,ENAME,性别1001,里约,M101
..
我有以下 Apache Spark 数据框: 父 - 子 A1 - A10 A1 - A2 A2 - A3 A3 - A4 A5 - A7 A7 - A6 A8 - A9 此 DataFrame 显示父子之间的连接.从逻辑上看,它看起来像这样: 主要目标是为每个孩子设置主根.这意味着我们应该有以下数据框: 父 - 子 A1 - A10 A1 - A2 A
..
我试图用 Java 创建一个 Dataset,所以我写了以下代码: 公共数据集 createDataset(){列表list = new ArrayList();list.add(new Person("name", 10, 10.0));数据集dateset = sqlContext.createDataset(list, Encoders.bean(Person.class));返回数据集;
..
我正在处理一个表示事件流的数据集(例如作为来自网站的跟踪事件触发).所有事件都有一个时间戳.我们经常遇到的一个用例是试图找到给定字段的第一个非空值.因此,例如,像这样的东西让我们最容易到达那里: val eventsDf = spark.read.json(jsonEventsPath)案例类 ProjectedFields(visitId: String, userId: Int, times
..
如何降低数据框列名的大小写而不是其值?使用 RAW Spark SQL 和 Dataframe 方法? 输入数据框(假设我有 100 个大写的这些列) 名称 |国家 |资源中心 |城市 |借方---------------------------------------------"富"|“新西兰" |工资|“奥克兰" |15.0“酒吧"|“澳大利亚" |投资 |《墨尔本》|12.5 目
..
在 spark Dataset.filter 中得到这个 null 错误 输入 CSV: 姓名、年龄、统计abc,22,mxyz,,s 工作代码: case class Person(name: String, age: Long, stat: String)val peopleDS = spark.read.option("inferSchema","true").option("h
..
我已经编写了使用 SparkSQL 访问 Hive 表的代码.代码如下: SparkSession spark = SparkSession.builder().appName("Java Spark Hive 示例").master("本地[*]").config("hive.metastore.uris", "thrift://localhost:9083").enableHiveSuppo
..
我可以很容易地在 Scala 中将 DataFrame 转换为 Dataset: case class Person(name:String, age:Long)val df = ctx.read.json("/tmp/persons.json")val ds = df.as[人]ds.printSchema 但是在 Java 版本中我不知道如何将 Dataframe 转换为 Dataset?
..
我想为 Row 在 DataSet 中键入,用于我正在执行的地图操作.本质上,我不明白如何编写编码器. 下面是一个地图操作的例子: 在下面的例子中,我不想返回Dataset,而是返回Dataset 数据集output = dataset1.flatMap(new FlatMapFunction() {@覆盖公共迭代器调用(行行)抛出异常{ArrayListobj =//一些地图操作返
..
我正在尝试对两个表进行相当简单的连接,并不复杂.加载两个表,进行连接并更新列,但它不断抛出异常. 我注意到任务卡在最后一个分区 199/200 并最终崩溃.我怀疑是数据倾斜导致所有数据都加载到最后一个分区199. SELECT COUNT(DISTINCT report_audit) FROM ReportDs = 150 万. 虽然 SELECT COUNT(*) FRO
..
我是 Spark 新手,无法找出以下问题的解决方案. 我有一个 JSON 文件要解析,然后创建几个指标并将数据写回 JSON 格式. 现在下面是我正在使用的代码 import org.apache.spark.sql._导入 org.apache.log4j.{Level, Logger}导入 org.apache.spark.sql.functions._对象快速 2 {def m
..
我在 java spark 应用程序中对过滤器和类型化数据集的映射使用 lambda 函数时遇到问题. 我收到此运行时错误 错误代码生成器:无法编译:org.codehaus.commons.compiler.CompileException:文件“generated.java",第 130 行,第 126 列:未找到适用于实际参数“org.apache.spark.unsafe.type
..
我有一个 .gz 格式的压缩文件,是否可以使用 spark DF/DS 直接读取文件? 详细信息:文件是带有制表符分隔的 csv. 解决方案 读取压缩的 csv 与读取未压缩的 csv 文件的方式相同.对于 Spark 2.0+ 版本,可以使用 Scala 完成如下操作(注意制表符分隔符的额外选项): val df = spark.read.option("sep", "\t").
..
我使用的是 spark-sql 2.4.x 版本,Cassandra-3.x 版本使用的是 datastax-spark-cassandra-connector.与 kafka 一起. 我有货币样本的汇率元数据如下: val ratesMetaDataDf = Seq((“欧元"、“5/10/2019"、“1.130657"、“美元")、(“欧元"、“5/9/2019"、“1.13088"
..
我正在尝试使用 spark Dataset API 读取 json 文件,问题是此 json 在某些字段名称中包含空格. 这将是一个 json 行 {"字段名称":"值"} 我的案例类需要这样 case class MyType(`Field Name`: String) 然后我可以将文件加载到 DataFrame 中,它会加载正确的架构 val dataframe = spark
..
我一直在阅读有关 Spark 谓词下推和分区修剪的信息,以了解读取的数据量.我有以下与此相关的疑问 假设我有一个包含列的数据集(年份:Int,SchoolName:String,StudentId:Int,SubjectEnrolled:String)其中磁盘上存储的数据按 Year 和 SchoolName 进行分区,并以 parquet 格式存储在 azure 数据湖存储中. 1)
..