我试图在pySpark中的一行代码中进行多个操作,并且不确定这是否适用于我的情况.
我的意图是不必将输出保存为新的数据帧.
我目前的代码很简单:
encodeUDF = udf(encode_time, StringType())
new_log_df.cache().withColumn('timePeriod', encodeUDF(col('START_TIME')))
.groupBy('timePeriod')
.agg(
mean('DOWNSTREAM_SIZE').alias("Mean"),
stddev('DOWNSTREAM_SIZE').alias("Stddev")
)
.show(20, False)
Run Code Online (Sandbox Code Playgroud)
我的目的是count()在使用之后添加groupBy,以获得与timePeriod列的每个值匹配的记录计数,打印\显示为输出.
在尝试使用时,groupBy(..).count().agg(..)我得到例外.
是否有任何方法可以实现这两个count()和agg() .show()打印,而无需将代码拆分为两行命令,例如:
new_log_df.withColumn(..).groupBy(..).count()
new_log_df.withColumn(..).groupBy(..).agg(..).show()
Run Code Online (Sandbox Code Playgroud)
或者更好的是,将合并的输出输出到agg.show()输出 - 一个额外的列,它表示与行的值匹配的计数记录数.例如:
timePeriod | Mean | Stddev | Num Of Records
X | 10 | 20 | 315
Run Code Online (Sandbox Code Playgroud) 我有一个简单的文本文件,其中包含"事务".
第一行是列名,例如"START_TIME","END_TIME","SIZE"......大约有100个列名.
文件中的列名称没有引号.
我想使用Spark,将此文件转换为具有列名称的数据框,
然后从文件中删除所有列但某些特定列.
我在将文本文件转换为数据框时遇到了一些麻烦.
到目前为止,这是我的代码:
from pyspark import SparkContext
from pyspark.sql import SQLContext
from pyspark.sql.types import *
# Load relevant objects
sc = SparkContext('local')
log_txt = sc.textFile("/path/to/text/file.txt")
sqlContext = SQLContext(sc)
# Construct fields with names from the header, for creating a DataFrame
header = log_txt.first()
fields = [StructField(field_name, StringType(), True)
for field_name in header.split(',')]
# Only columns\fields 2,3,13,92 are relevant. set them to relevant types
fields[2].dataType = TimestampType() # START_TIME in yyyymmddhhmmss format
fields[3].dataType = TimestampType() # END_TIME …Run Code Online (Sandbox Code Playgroud) python-2.7 apache-spark apache-spark-sql spark-dataframe pyspark-sql
我想弄清楚为什么以下代码:
{
unsigned int a = 10;
a = ~a;
printf("%d\n", a);
}
Run Code Online (Sandbox Code Playgroud)
a将00001010开始,并且在NOT opertaion之后,将变换
进入11110101.
当一个人试图打印a为有符号整数时,会发生什么
打印结果是-11?
我以为我最终会看到-5可能(根据二进制表示),但不是-11.
我很乐意对此事作出澄清.
我正在尝试使用 PCA 来选择一些 K 主要组件来使用。
我知道不应在测试集上重新运行 PCA,而应使用在对训练集建模时找到的特征向量 \ PC。
我有 2 个 CSV - 一个是训练集,
另一个测试集(每条记录没有标签)
训练集上的 PCA 过程使用以下代码完成:
# Load CSV file
train_set.init_data <- read.csv("D:\\train.csv", header = TRUE)
# Remove identifier and respone variables (ID, and SalePrice):
train_set.vars <- subset(train_set.init_data, select = -c(Id, SalePrice))
# Convert catergorical variables into numerical using dummy variables:
library(dummies)
train_set.vars_dummy <- dummy.data.frame(train_set.vars, sep = ".")
# Principal Component Analysis:
train_set.prin_comp <- prcomp(train_set.vars_dummy, scale. = T)
# Choose some K components
????
# Run …Run Code Online (Sandbox Code Playgroud) apache-spark ×2
c ×1
java ×1
pca ×1
printing ×1
pyspark ×1
pyspark-sql ×1
python-2.7 ×1
r ×1
scala ×1