问题标签 [spark-dataframe]

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 回答
3931 浏览

amazon-s3 - AWS 访问密钥 ID 和秘密访问密钥必须指定为用户名或密码(Spark、Parquet、S3)

尝试从 s3 读取镶木地板文件时出现一个非常奇怪的错误。我正在使用 spark book 中的以下代码片段。

代码片段运行没有任何问题。但是,每当我删除以下行时:df.write.parquet("s3n://adx-test/hdfs/pair.parquet")这意味着将 parquet 文件从 s3 读取到 spark 数据帧中(不先写入 parquet 文件),我收到一个错误:

线程“main”java.lang.IllegalArgumentException 中的异常:AWS 访问密钥 ID 和秘密访问密钥必须分别指定为 s3n URL 的用户名或密码,或者通过设置 fs.s3n.awsAccessKeyId 或 fs.s3n。 awsSecretAccessKey 属性(分别)。

这很奇怪,因为我已经在代码片段的顶部设置了 hadoopConfiguration s3AccessKeyId 和 secret。我想尝试使用带格式的 s3n url,s3n://accessId:secret@bucket/path但似乎当 secret 包含/字符时;它行不通。

0 投票
1 回答
2949 浏览

scala - Spark - 从函数返回数据帧和累加器

我有一个返回一个DataFrame和两个累加器的函数。手动运行spark-shell(从 jar 调用函数)它按预期工作。做 a填充累加器.countDataFrame

但是如果我从累加器调用函数spark-submit总是空的。我曾尝试DataFrame以相同的奇怪行为返回两个 :在 中工作spark-shell,而不是从spark-submit.

这是我的代码的一个可能不起作用的框架:

0 投票
1 回答
815 浏览

python - 如何在 Spark 中将 pandas 的 DataFrame 转换为 DataFrame 或 LabeledPoint?

我知道在使用 spark 数据框时,您需要将任何数据源直接导入为 spark 数据框。就我而言,我需要使用 pandas 函数来爆表并创建虚拟变量。所以我在读入数据后在我的 .map() 函数中使用了这个函数。

我的 .reduce() 函数是这样的:

它给了我我想要的东西,但是现在我需要将这个重组的 pandas 数据框放入 labelPoints 中,以便我可以将它与 MLlib 算法一起使用。如何与 .toPandas() 函数相反并从 pandas 转换为 spark 数据帧或标记点?

0 投票
2 回答
3667 浏览

apache-spark - 在通过 JDBC 从 pyspark 数据帧插入外部数据库表时进行重复键更新

好吧,我正在使用 PySpark,并且我有一个 Spark 数据框,我使用它将数据插入到 mysql 表中。

url = "jdbc:mysql://hostname/myDB?user=xyz&password=pwd"

df.write.jdbc(url=url, table="myTable", mode="append")

我想通过列值和特定数字的总和来更新列值(不在主键中)。

我尝试过使用不同的模式(追加、覆盖)DataFrameWriter.jdbc() 函数。

我的问题是我们如何像ON DUPLICATE KEY UPDATE在 mysql 中那样更新列值,同时将 pyspark 数据帧数据插入表中。

0 投票
2 回答
424 浏览

java-8 - DataFrame,计算唯一值,Java

我有一个DataFrame,我想计算这个 DataFrame 中两列的唯一行。例如:

应该是:

我知道 pandas DataFrame 中此操作的解决方案,但现在我想直接在 Java 中执行此操作(最好的方法是 Java 8)。

0 投票
1 回答
23500 浏览

scala - 如何针对另一个数据帧过滤一个火花数据帧

我正在尝试针对另一个数据框过滤一个数据框:

现在我想过滤 df1 并取回一个数据帧,其中包含 df1 中 user_id 在 df2("valid_id") 中的所有行。换句话说,我想要 df1 中 user_id 为 2、3、4、5 或 6 的所有行

另一方面,当我尝试对函数进行过滤时,一切看起来都很棒:

为什么我会收到此错误?我的语法有问题吗?

以下评论我试图做一个左外连接:

我正在使用 scala 2.10.5 运行 spark 1.5.0

0 投票
2 回答
928 浏览

scala - 在 Spark Scala 中透视非数值表

是否可以在 Spark Scala 中旋转具有非数字值的表?我已经查看了以下两个 Stack 问题。

如何旋转 DataFrame?

Spark SQL 中的 Case-When 语句中的列表

按照“案例中的列表”问题中的步骤,我可以转换我的数据,以便每个数据类型都是一列,但每个实体数据类型组合都有一行。

是否有一个“第一个非空”函数可以将每个实体的多行折叠成一个?

0 投票
1 回答
551 浏览

apache-spark - 当 spark connect oracle 时发生“java.sql.SQLException:没有为 jdbc:oracle:@192.164.6.77:1521:BDSS 找到合适的驱动程序”

以下是我的代码。

第一,

./spark-shell --master spark://172.11.11.11:7077 --jars /opt/beh/bin/ojdbc14.jar

其次,

执行时发生“java.sql.SQLException:找不到适合 jdbc:oracle:@192.164.6.77:1521:BDSS”的驱动程序val people = sqlContext.read.jdbc(url,"code_pay_mode",properties)

0 投票
4 回答
41805 浏览

scala - 如何将 Spark 中“Dataframe”的两列合并为一个 2-Tuple?

我有一个DataFrame df五列的 Spark。我想添加另一列,其值是第一列和第二列的元组。使用 withColumn() 方法时,出现不匹配错误,因为输入不是 Column 类型,而是 (Column,Column)。我想知道在这种情况下,除了在行上运行 for 循环之外是否有解决方案?

0 投票
1 回答
2678 浏览

python - 必须使用 Hive 构建 Spark (spark 1.5.0)

下载 spark 1.5.0 预构建并通过 pyspark 运行这个简单的代码

产量错误:

所以尝试自己编译

hriftserver 清洁包

但在编译版本上仍然会出现相同的错误。

有什么建议吗?