问题标签 [apache-spark-2.0]
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.
maven - Spark maven 依赖破坏了 sprint-boot 应用程序
我有一个带有 Swing GUI 的 spring-boot 应用程序。它只是工作!但是,只要我将spark 2.0依赖项添加到pom.xml文件,它就会在启动过程中显示以下错误消息并且不会启动!
这是我添加的依赖项:
apache-spark - Apache Spark 与 Apache Spark 2
与 Apache Spark 相比,Apache Spark2 带来了哪些改进?
- 从架构的角度
- 从应用的角度
- 或者更多
java - 使用 Apache Spark 读取 Json 文件
我正在尝试使用 Spark v2.0.0 读取 Json 文件。在简单的数据代码的情况下工作得很好。如果数据有点复杂,当我打印 df.show() 时,数据没有以正确的方式显示。
这是我的代码:
这是我的示例数据:
我的输出是这样的:
apache-spark - Spark SQL - 使用 JSON Schema 读取 JSON(模式的官方标准)
是否可以使用根据标准定义的现有 JSON 模式(文件):
http://json-schema.org/latest/json-schema-core.html ,
显式声明 JSON 数据帧的架构?如果有,有什么例子吗?我们有许多定义我们的 JSON 事件的 json 模式文件,如果能够允许 DF 重用它们会很好吗?
干杯
apache-spark - 使用 extraOptimizations 转换 Spark SQL AST
我想将 SQL 字符串作为用户输入,然后在执行前对其进行转换。特别是,我想修改顶层投影(select 子句),注入额外的列以供查询检索。
我希望通过使用sparkSession.experimental.extraOptimizations
. 我知道我正在尝试的并不是严格意义上的优化(转换改变了 SQL 语句的语义),但 API 似乎仍然合适。但是,查询执行器似乎忽略了我的转换。
这是一个最小的例子来说明我遇到的问题。首先定义一个行案例类:
然后定义一个简单地丢弃任何投影的优化规则:
现在创建一个数据集,注册优化,并运行 SQL 查询:
这是输出:
我们看到结果与原始 SQL 语句的结果相同,但未应用转换。然而,在打印逻辑和物理计划时,投影确实已被删除。我还确认(通过调试日志输出)确实正在调用转换。
关于这里发生了什么的任何建议?也许优化器只是忽略了改变语义的“优化”?
如果使用优化不是要走的路,有人可以提出替代方案吗?我真正想做的就是解析输入的 SQL 语句,对其进行转换,然后将转换后的 AST 传递给 Spark 以执行。但据我所知,执行此操作的 API 对 Sparksql
包来说是私有的。可能可以使用反射,但我想避免这种情况。
任何指针将不胜感激。
java - 数据帧从在 dataproc 集群停顿上运行的 Spark2 作业保存到 Redshift
我有一个数据框(Dataset)并想将此数据框保存到 Redshift。
设置:
- Spark(spark-core、spark-sql):2.0.1/Scala:2.11
- 用于连接 Redshift (postgresql) 的 JDBC 驱动程序:9.4.1208.jre7
- AWS 开发工具包(aws-java-sdk-core、aws-java-sdk-s3):1.11.48
就在我在 Redshift 中创建工作正常的写表之前(使用 Postgres JDBC 驱动程序)。但是,在创建表之后,我的工作基本上停止了,我无法从日志中提取任何有用的信息。这可能是什么原因?
我尝试将身份验证凭据设置为 tempdir 的一部分,并在 Spark 上下文中使用 Hadoop 配置,如此处所述。两种方式都可以在本地工作,但是在提交作业以在 dataproc 上运行时会出现问题吗?
scala - 来自 Dataset 的 RDD 导致 Spark 2.x 的序列化错误
我有一个使用 Databricks 笔记本从数据集创建的 RDD。
当我尝试从中获取具体值时,它只是失败并显示序列化错误消息。
这是我获取数据的地方(PageCount 是一个 Case 类):
然后当我这样做时:
我得到以下异常:
即使对数据集的相同尝试有效:
编辑 :
这是完整的堆栈跟踪
apache-spark - Hive/SparkSQL - 在表达式中键入从日期到时间戳的强制转换
当我在 Spark SQL 中运行 Hive 查询时,相同值的LHS ( timestamp
) <=
RHS ( )不会被视为相等。而在RHS 中运行良好。date
'2013-09-30'
CAST
TIMESTAMP
我们有这么多的表达式DATE
和TIMESTAMP
组合,所有查询都将动态生成。因此,很难CAST
在所有地方找到列或值。
有没有办法自动将表达式中的 RHS/LHS 转换为Hive/SparkSQL 中的更高数据类型(类型强制)?
在 Oracle 11g 中也尝试过类似的查询,它运行良好,去equal
.
感谢你的帮助!!
apache-spark - 从 JDBC 创建 spark 数据帧时如何指定 sql 方言?
我在使用 Spark 通过自定义 JDBC 读取数据时遇到问题。我将如何覆盖通过 jdbc url 推断的 sql 方言?
有问题的数据库是运行 mysql 变体的 vitess ( https://github.com/youtube/vitess ),所以我想指定一个 mysql 方言。jdbc url 以 jdbc:vitess/ 开头
否则,DataFrameReader 会推断默认方言使用“””作为报价标识符。因此,通过 spark.read.jdbc 的查询被发送为
从表中选择“id”、“col2”、“col3”、“etc”
它选择字符串表示而不是列值而不是
从表中选择 id、col2、col3 等
select - 过滤 pyspark 数据帧
我正在尝试根据一些规则从 pyspark 数据框中选择一些值。在 pyspark 中出现异常。
我遇到以下异常。你能给点建议吗?
文件“”,第 1 行 df.select(df.card_key,F.when((df.tran_sponsor = 'GAMES') & (df.location_code = '9145'),'ENTERTAINMENT').when((df.tran_sponsor = 'XYZ') & (df.location_code = '123'),'eBOOKS').when((df.tran_sponsor = 'XYZ') & (df.l_code.isin(['6001', '6002', '6003 ', '6004', '6005', '6006', '6007', '6008', '6009', '6010', '6011', '6012', '6013', '6014']),' FINANCE').otherwise(df.tran_sponsor)).show() ^ SyntaxError: 无效语法