问题标签 [databricks]

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.

0 投票
1 回答
1496 浏览

spark-streaming - spark-redshift - 使用 Spark 2.1.0 保存时出错

我正在使用 spark-redshift 加载从 MySQL binlog 获取数据事件的 Kafka 流。

当我尝试将 RDD 保存到 Redshift 中时,会引发异常:

处理器代码是:

错误信息

我也尝试使用其他版本,如 2.0.2 和 2.0.1,但没有成功。

有没有办法在这个版本中解决这个问题,或者让这个代码在其他版本的 Spark 或 spark-redshift 中工作?我开始在 spark 中编码,任何提示都会有所帮助。

0 投票
0 回答
124 浏览

scala - 如何根据某个值同时将数据帧写入配置单元表

我有一个场景,其中数据框作为通用集。基于该数据帧,根据数据帧中的某些值写入不同的配置单元表。但这是通过顺序执行来实现的。对通用数据帧使用过滤器操作并检索该数据帧的子集,然后将其写入不同的配置单元表。是否有任何其他方法可以同时使用数据帧上的分区方法写入配置单元表。可以在通用数据帧上执行写操作。

0 投票
1 回答
8255 浏览

amazon-web-services - 在 Amazon EMR 上使用 Spark 时如何分配驱动程序内存和执行程序内存的大小

我使用带有 10 个节点的 AWS EMR 5.2 实例 m4.2x large 来使用 Spark 2.0.2 运行我的 Spark 应用程序。我使用了 的属性maximizeResourceAllocation=true。我在spark-defaults.conf中看到了以下属性:

yarn-site.xml中,我看到了yarn.nodemanager.resource.memory-mb=24576(24GB)。我只知道spark.executor.instances设置为 10,因为我使用的是 10 个节点集群。但是谁能向我解释一下其他属性是如何设置的,比如驱动程序内存和执行程序内存是如何计算的?我还使用了maximizeResourceAllocation=true.How 的属性,这对内存有什么影响?

0 投票
1 回答
238 浏览

pyspark - 从 XML 源读取自定义架构错误

似乎是一个非常简单的问题,但很烦人..

我有一个具有以下结构的 XML 文件:

我的目标是将其读入 Spark (Pyspark) DataFrame 以便稍后处理。

我正在使用 Databricks 包。当我运行以下代码时:

生成的 df 的模式(自动推断)如下:

在这种情况下,问题是attr4,我希望它是string类型,但被视为long

我尝试设置的每个自定义模式都会导致一些内部错误,或者数据框中的 0 条记录。

请帮忙 :)

(Spark v. 2.0.0)

0 投票
3 回答
4689 浏览

scala - 如何使用 spark databricks xml 解析器从 Hdfs 目录加载所有 xml 文件

如何使用databricks xml解析器获取Hdfs目录中所有xml文件的单个数据框,这些文件具有相同的xml架构

0 投票
1 回答
581 浏览

python - 遍历文件列表,提取其内容?(SparkContext 错误)

我需要遍历磁盘上的大量文件列表,打开每个文件并解析它。我有一个带有文件名的文件,我需要遍历这些文件名。

我将此函数传递给map()

当我尝试运行以下命令时:

我收到此错误:

例外:您似乎正试图从广播变量、操作或转换中引用 SparkContext。SparkContext 只能在驱动程序上使用,不能在它在工作人员上运行的代码中使用。有关详细信息,请参阅 SPARK-5063。

如果我单独运行 try 块中的代码并指定文件名,则该代码将起作用。

我应该如何遍历指定的文件列表,提取它们的内容?

0 投票
1 回答
522 浏览

java - 使用 DataFrameReader 从 S3 读取文件

嗨,我在使用 DataFrameReader 从 S3 读取文件时遇到问题,我可以在本地读取完全相同的文件,但是当它存储在 s3 上时,我无法读取它,这是我的代码片段

但我得到了这个错误:

我正在使用DataBrics

我如何“告诉” DataFrameReader 从 AWS S3 读取?

0 投票
1 回答
681 浏览

scala - Combining the logs from multiple directories in Spark

I have log files going into different directories based on the date created of the log file.

For example

I would like to combine all these log files into one single rdd using pyspark so that I can do the aggregates on this master file.

Till date, I have taken individual directories, called sqlContext and used Union to join all the log file for specific dates.

Is there an easy way to get the master rdd by specifying the log files from range of dates? (i.e from 2017/01/20 to 2017/02/14)

I am quite new to spark, please correct me if I was wrong at any step.

0 投票
0 回答
996 浏览

apache-spark - spark-redshift:由于内部错误,不支持这种类型的相关子查询模式

当我从 Apache Spark 使用由 databricks ( https://github.com/databricks/spark-redshift ) 提供的模块 spark-redshift 对 Aws Redshift 运行查询时,我收到以下错误:

但是,如果我使用 SQL 客户端(例如 DBeaver)直接在 redshift 上运行某些查询,则查询将正确执行。

编辑:我还尝试在 redshift 上使用 UNLOAD 命令执行相同的查询,并且它可以正常工作。

我正在使用以下版本的 spark-redshift 和 redshift 驱动程序:

有人知道如何解决吗?

0 投票
0 回答
688 浏览

apache-spark - 获取 [Amazon](500150) 在 Spark/Redshift 特定查询中由对等方重置连接

我在集群模式下在 emr 上运行带有 databricks spark-redshift 2.0.1 的 spark 2.0.0,我的工作可以很好地处理一些简单的红移查询,例如

这个结果集有大约 100,000 行。

当我尝试使用如下所示的查询运行它时:

(如果查询稍有错误请忽略。我只是替换了表和字段的名称)

大约 2 小时后(我们看到在 s3 中创建了一个临时目录,其中有一些文件),我们得到了这个异常:

FATAL CampaignJob:[Job Name -> MyJob] java.sql.SQLException:Amazon 错误设置/关闭连接:连接被对等方重置。java.sql.SQLException:Amazon 错误设置/关闭连接:连接由对等方重置。在 com.amazon.jdbc.communications.channels.MessagesSocketChannel.readMessages(Unknown Source) at com.amazon.jdbc.communications.channels.AbstractMessagesSocketChannel.read(Unknown Source) 原因:com.amazon.support.exceptions.GeneralException:亚马逊错误设置/关闭连接:对等方重置连接。... 2 更多

工作失败了。

它与简单查询的行数大致相同,我们知道在简单查询的情况下,红移访问很好。原始查询本身直接在 Redshift 本身上运行,运行大约需要 7-8 分钟。只是当它使用 databricks-redshift 工具通过 spark 运行时,它会失败。

让我知道我是否可以提供更多信息。