问题标签 [spark3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
json - Spark:读取 json 数据导致某些记录被填充为 NULL
我有一个从 API 调用中获取的复杂 JSON 数据。我正在尝试在 Spark 数据框中读取这些数据,但在此过程中,我发现一些记录填充了空值,而很少有正确的数据。
我正在做一些事情:
我正在使用的数据集受到限制,因此我无法在此处分享。但它由多个嵌套 JSON 字段的数组组成,其中 JSON 的架构可能在数组项之间有所不同。
如果我尝试一次读取数组的每个元素,那么它可以正常工作。我不知道是什么导致了这个问题,因为这在 Spar 2.4 中工作,但我们现在正在升级到 Spark 3。
apache-spark - SPARK 3 - 用前几行的值填充值(查找)
我是 SPARK 的新手。我有 2 个数据框events
和players
事件数据框由列组成
event_id| player_id| match_id| impact_score
玩家数据框由列组成
player_id| player_name| nationality
我正在player_id
使用此查询合并两个数据集:
getCurrentTeam
函数触发一个返回值的 HTTP 调用(玩家的当前团队)。
我有超过 3000 万次足球比赛和 97 名球员的数据。我需要帮助创建列current_team
。想象一下某个玩家在事件数据框中出现了 130,000 次。我需要从前几行中查找值。如果播放器出现,我只需获取该值(如内存目录)。如果它没有出现,那么我调用 web 服务。
spark3 - 如何使用 java 在 spark3 中读取地图
数据集 person = spark.read.textfile(path).map(Person::new,Encoders.bean(Person.class))
当我在上面尝试时,它将在 spark2.4(scala-2.11) 中工作,但在 spark3.1.1(scala-2.12) 中,它对于 DataSet 类型显示为模棱两可。而且我在哪里使用地图,过滤器,地图分区,平面地图变得模棱两可/
但是通过进行类型转换,所有转换都会成功 spark.read.textfile(path).map((MapFunction<String,Person>)Person::new,Encoders.bean(Person.class))
有没有其他方法没有类型转换/代码更改
apache-spark - 在 Spark 中将日期转换为 ISO 星期日期
在一列中有日期,如何创建包含ISO 周日期的列?
ISO 周日期由年份、周数和工作日组成。
- year与使用
year
函数获得的年份不同。 - 周数是最简单的部分 - 可以使用
weekofyear
. - weekday应该返回 1 表示周一,7 表示周日,而 Spark
dayofweek
不能这样做。
示例数据框:
期望的结果:
scala - Beam spark3-runner 与 scala 版本冲突
当尝试将 Beam 与 spark 3.1.2 一起使用时,我们遇到了这个问题:
InvalidClassException:scala.collection.mutable.WrappedArray
如此处所述:https://www.mail-archive.com/issues@spark.apache.org/msg297820.html
这是一个不兼容的问题:spark 3.1.2 是用 scala 2.12.10 编译的,但这个问题仅适用于 scala >= 2.12.14。
我看到两个解决方案:
=> 用 scala 版本编译 spark & beam >= 2.12.14
=>将beam使用的spark版本升级到3.2.0,可以用scala 2.13编译
但是这两种解决方案都可能很长(需要了解梁源代码),有什么想法吗?
编辑 21/01/2022:
我的问题是:你认为这个问题有一个简单的解决方法吗?
我刚刚发现 Jira 票已经公开了:https ://issues.apache.org/jira/browse/BEAM-12762
感谢您的回答@Moritz,但我现在不知道该怎么做;如何在不编译 Beam 的情况下将其他版本的 Sclala 打包到 Beam Docker Image 中?
scala - Scala:使用 spark 3.1.2 解析时间戳
我有一个 Excel 阅读器,我将结果放入 sparks 数据框中。我在解析时间戳时遇到问题。
我有时间戳作为字符串,如Wed Dec 08 10:49:59 CET 2021
. 我使用的是 spark-sql 版本2.4.5
,一切正常,直到我最近更新到 version 3.1.2
。
请在下面找到一些最小的代码。
使用 spark 版本运行此代码的2.4.5
工作方式与预期一样,并产生以下输出:
现在,仅使用 spark version 执行相同的代码3.1.2
会导致以下错误:
(可点击链接:https ://spark.apache.org/docs/latest/sql-ref-datetime-pattern.html )
这个网站对我没有进一步的帮助。我在我的格式字符串中没有发现任何错误。该符号E
表示day-of-week
为文本,如Tue; Tuesday
。符号M
代表month-of-year
类似7; 07; Jul; July
。这些符号H,m,s,y
分别是小时、分钟、秒或年。符号z
表示time-zone name
类似Pacific Standard Time; PST
。我在这里错过了一些明显的东西吗?
任何帮助将不胜感激。先感谢您。
pyspark - 在 pyspark 中创建一个查找列
我正在尝试在 pyspark 数据框中创建一个新列,该列“查找”同一数据框中的下一个值,并将其复制到所有下一行,直到下一个事件发生。
我使用了如下使用的窗口函数,但在列上获得下一个值仍然没有运气:
显然它不会正确查找“下一个”事件。关于可能的方法的任何想法?
示例数据框将是:
时间戳 | col1 | col2 | col3 |
---|---|---|---|
2021-02-02 01:03:55 | s1 | 无效的 | 无效的 |
2021-02-02 01:04:16.952854 | s1 | other_ind | 无效的 |
2021-02-02 01:04:32.398155 | s1 | 无效的 | 无效的 |
2021-02-02 01:04:53.793089 | s1 | event_start_ind | event_1_value |
2021-02-02 01:05:10.936913 | s1 | 无效的 | 无效的 |
2021-02-02 01:05:36 | s1 | other_ind | 无效的 |
2021-02-02 01:05:42 | s1 | 无效的 | 无效的 |
2021-02-02 01:05:43 | s1 | 无效的 | 无效的 |
2021-02-02 01:05:44 | s1 | event_start_ind | event_2_value |
2021-02-02 01:05:46.623198 | s1 | 无效的 | 无效的 |
2021-02-02 01:06:50 | s1 | 无效的 | 无效的 |
2021-02-02 01:07:19.607685 | s1 | 无效的 | 无效的 |
期望的结果是:
时间戳 | col1 | col2 | col3 | col4 |
---|---|---|---|---|
2021-02-02 01:03:55 | s1 | 无效的 | 无效的 | event_1_value |
2021-02-02 01:04:16.952854 | s1 | other_ind | 无效的 | event_1_value |
2021-02-02 01:04:32.398155 | s1 | 无效的 | 无效的 | event_1_value |
2021-02-02 01:04:53.793089 | s1 | event_start_ind | event_1_value | event_1_value |
2021-02-02 01:05:10.936913 | s1 | 无效的 | 无效的 | event_2_value |
2021-02-02 01:05:36 | s1 | other_ind | 无效的 | event_2_value |
2021-02-02 01:05:42 | s1 | 无效的 | 无效的 | event_2_value |
2021-02-02 01:05:43 | s1 | 无效的 | 无效的 | event_2_value |
2021-02-02 01:05:44 | s1 | event_start_ind | event_2_value | event_2_value |
2021-02-02 01:05:46.623198 | s1 | 无效的 | 无效的 | 无效的 |
2021-02-02 01:06:50 | s1 | 无效的 | 无效的 | 无效的 |
2021-02-02 01:07:19.607685 | s1 | 无效的 | 无效的 | 无效的 |
certificate - 在 webassessor scala doc 中找不到 org.apache.spark.sql.functions
我打算给 Databricks 认证的 apache-spark 3.0 考试,在考试中,他们提供 apache-spark scala doc,https: //www.webassessor.com/zz/DATABRICKS/Scala_v2.html
但我在https://www.webassessor.com/zz/DATABRICKS/Scala_v2.html中找不到org.apache.spark.sql.functions的文档
同样在练习测试中,他们建议使用上述文档,所以我很困惑该软件包是否可以在考试中使用?