小编Sha*_*kar的帖子

Scala案例类和Hash Collision

当我从Eclipse IDE生成equals和hashCode方法时,我正面临着Hash Collision问题.

我计划Scala API case classes用于同一目的,因为它的创建equalshashcode自动化.

Scala生成的方法是否足以处理Hash Collision问题?

在使用Case Classes时,任何人都遇到了Hash Collision问题?

scala apache-spark

0
推荐指数
1
解决办法
575
查看次数

在 Spark SQL DataFrame 中调用 UDF 方法内的其他方法/变量

我有一个 Spark SQL DF,我在其中尝试调用一个 UDF [我使用 Spark SQL 创建的udf

val udfName = udf(somemethodName)
val newDF = df.withColumn("columnnew", udfName(col("anotherDFColumn"))
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用另一个存储为valsomemethodName 内部的 DF,但 DF 为空。

仅当我在 . 中使用 where 子句时才会发生这种情况newDF

我错过了什么吗?是否无法在 UDF 方法中使用另一个变量/方法?

或者我必须对广播做些什么?目前我正在本地运行它,而不是在集群中。

scala apache-spark apache-spark-sql udf

0
推荐指数
1
解决办法
3096
查看次数

Spark DataFrame - 使用Java API选择列列表

我正在尝试使用Java API从DataFrame中选择列列表.

示例Java代码:

List<String> colList = Arrays.asList(new String[] { "column1", "column2", "column3" });
df.selectExpr((String[])colList.toArray()).show();
Run Code Online (Sandbox Code Playgroud)

在Java API中,我必须使用selectExpr而不是select.有没有其他方法可以使用Java API选择列列表.

但是在Scala中,我可以做类似下面的事情.

示例Scala代码:

val colList = List("column1", "column2", "column3")
df.select(colList.head, colList.tail: _*).show
Run Code Online (Sandbox Code Playgroud)

java scala apache-spark apache-spark-sql

0
推荐指数
1
解决办法
3280
查看次数

pyspark DataFrame selectExpr 不适用于多于一列

我们正在尝试 Spark DataFrameselectExpr及其对一列的工作,当我添加多于一列时,它会抛出错误。

第一个工作正常,第二个抛出错误。

代码示例:

 df1.selectExpr("coalesce(gtr_pd_am,0 )").show(2)
 df1.selectExpr("coalesce(gtr_pd_am,0),coalesce(prev_gtr_pd_am,0)").show()
Run Code Online (Sandbox Code Playgroud)

错误日志:

>>> df1.selectExpr("coalesce(gtr_pd_am,0),coalesce(prev_gtr_pd_am,0)").show()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/hdp/2.6.5.0-292/spark2/python/pyspark/sql/dataframe.py", line 1216, in selectExpr
    jdf = self._jdf.selectExpr(self._jseq(expr))
  File "/usr/hdp/2.6.5.0-292/spark2/python/lib/py4j-0.10.6-src.zip/py4j/java_gateway.py", line 1160, in __call__
  File "/usr/hdp/2.6.5.0-292/spark2/python/pyspark/sql/utils.py", line 73, in deco
    raise ParseException(s.split(': ', 1)[1], stackTrace)
pyspark.sql.utils.ParseException: u"\nmismatched input ',' expecting <EOF>(line 1, pos 21)\n\n== SQL ==\ncoalesce(gtr_pd_am,0),coalesce(prev_gtr_pd_am,0)\n---------------------^^^\n" 
Run Code Online (Sandbox Code Playgroud)

apache-spark-sql pyspark

0
推荐指数
1
解决办法
7565
查看次数

如果列值为 NaN,pandas dataframe 返回布尔值

我有包含多列的 Pandas DataFrame,我想检查特定列值是否为 NaN,如果是,我需要返回布尔值(True 或 False)。

我试过

pandas_df['col1'].isnull()
Run Code Online (Sandbox Code Playgroud)

但它返回带有索引和布尔值的所有行。

pandas

0
推荐指数
1
解决办法
7393
查看次数

标签 统计

apache-spark ×3

apache-spark-sql ×3

scala ×3

java ×1

pandas ×1

pyspark ×1

udf ×1