当我从Eclipse IDE生成equals和hashCode方法时,我正面临着Hash Collision问题.
我计划Scala API case classes用于同一目的,因为它的创建equals和hashcode自动化.
Scala生成的方法是否足以处理Hash Collision问题?
在使用Case Classes时,任何人都遇到了Hash Collision问题?
我有一个 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 方法中使用另一个变量/方法?
或者我必须对广播做些什么?目前我正在本地运行它,而不是在集群中。
我正在尝试使用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) 我们正在尝试 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) 我有包含多列的 Pandas DataFrame,我想检查特定列值是否为 NaN,如果是,我需要返回布尔值(True 或 False)。
我试过
pandas_df['col1'].isnull()
Run Code Online (Sandbox Code Playgroud)
但它返回带有索引和布尔值的所有行。