在Scala中,我可以做get(#)或getAs[Type](#)从数据帧中获取值.我应该怎么做pyspark?
我有两列DataFrame:item(string)和salesNum(integers).我做了一个groupby并mean得到这样的数字的平均值:
saleDF.groupBy("salesNum").mean()).collect()
它的工作原理.现在我在数据框中有一个值的平均值.
如何从数据框中获取该值以将均值作为浮点数?
我已陷入这种困境,我无法选择哪种解决方案对我更好.我有一个非常大的表(几个100GB)和几个较小的(几个GB).为了在Spark中创建我的数据管道并使用spark ML,我需要加入这些表并执行几个GroupBy(聚合)操作.那些操作对我来说真的很慢,所以我选择了这两个中的一个:
我可以说Parquet分区工作速度更快,可扩展性更高,而且Cassandra使用的内存开销更少.所以问题是:
如果开发人员推断并了解数据布局及其使用方式,那么使用Parquet会不会更好,因为您可以更好地控制它?我为什么要为Cassandra带来的开销付出代价?
我在具有公共 IP 地址的 [spark] 集群上使用 Jupyter。我想确保我是唯一一个可以查看、更改并且基本上可以访问此笔记本的人。每当我打开它并通过将它连接到 PAM 或其他东西来要求输入用户名/密码时,我该如何制作它?
我正在准备一个带有id和我的特征向量的DataFrame,以便稍后用于做预测.我在我的数据框架上做了一个groupBy,在我的groupBy中,我将几列作为列表合并到一个新列中:
def mergeFunction(...) // with 14 input variables
val myudffunction( mergeFunction ) // Spark doesn't support this
df.groupBy("id").agg(
collect_list(df(...)) as ...
... // too many of these (something like 14 of them)
).withColumn("features_labels",
myudffunction(
col(...)
, col(...) )
.select("id", "feature_labels")
Run Code Online (Sandbox Code Playgroud)
这就是我创建我的特征向量及其标签的方式.到目前为止,它一直在为我工作,但这是我第一次使用这种方法的特征向量大于数字10,这是Spark接受的最大函数udf.
我不知道我还能解决这个问题吗?Spark中udf输入的大小是否会变大,我是否理解错误,或者有更好的方法?
scala dataframe apache-spark apache-spark-sql apache-spark-mllib
我试图在具有infiniband互连的HPC聚焦集群中使用Spark.此群集不提供支持IPoIB.我在这里看到了俄亥俄州立大学的Spakr-RDMA项目.我找不到其他人在做这个,或者apache spark将来会支持IB.问题是,是否有其他解决方案可以在只有IB作为网络的HPC环境中获得更新版本的spark?
与我在 Emacs 中选择文本并在其上键入时使用的许多其他文本编辑器相反,文本不会被替换。我怎样才能改变 Emacs 中的这种行为?
apache-spark ×4
cassandra ×1
dataframe ×1
emacs ×1
hpc ×1
infiniband ×1
parquet ×1
pyspark ×1
python ×1
scala ×1