DataFrame repartition()和DataFrameWriter partitionBy()方法有什么区别?
我希望两者都习惯于"基于数据帧列分区数据"?或者有什么区别?
我有一个DataFrame与Timestamp列,我需要为转换Date格式.
是否有可用的Spark SQL函数?
我有DataFrame一些列.现在我想在现有的DataFrame中再添加两列.
目前我正在使用withColumnDataFrame中的方法.
例如:
df.withColumn("newColumn1", udf(col("somecolumn")))
.withColumn("newColumn2", udf(col("somecolumn")))
Run Code Online (Sandbox Code Playgroud)
实际上我可以使用Array [String]在单个UDF方法中返回两个newcoOlumn值.但目前这就是我的做法.
无论如何,我能有效地做到这一点吗?使用explode是不错的选择?
即使我必须使用explode,我必须使用withColumn一次,然后返回列值Array[String],然后使用explode,再创建两列.
哪一个有效?还是有其他选择吗?
LEO and HWReplica(Leader Replica)有什么区别?
它们会包含相同的数字吗?我能理解HW就是last committed message offset.
当LEO将更新时如何?
Spark Transformations 懒惰地评估 - 当我们调用动作时,它会根据沿袭图执行所有变换.
Lazilyy转换评估的优势是什么?
它是否会改进performance和memory consumption急切评估的比较数量?
对转换进行懒惰评估是否有任何不利之处?
我正在尝试使用Spark SQL来编写parquet文件.
默认情况下,Spark SQL支持gzip,但它也支持其他压缩格式,如snappy和lzo.
这些压缩格式之间有什么区别,哪种格式最适合Hive加载.
我正在Spark SQL用于阅读镶木地板和书写镶木地板文件.
但有些情况下,我需要编写DataFrameas文本文件而不是Json或Parquet.
是否支持任何默认方法或我必须将该DataFrame转换为RDD然后使用saveAsTextFile()方法?
我有多个小parquet文件作为hive ql作业的输出生成,我想将输出文件合并到单个镶木地板文件?
用一些方法做到最好的方法是什么hdfs or linux commands?
我们曾经使用cat命令合并文本文件,但这对于镶木地板也适用吗?我们可以HiveQL在编写输出文件时自己使用它,比如我们如何使用repartition或使用coalesc方法spark吗?
我想在DataFrame中添加具有多个值的列的where条件.
例如,它为单值工作.
df.where($"type".==="type1" && $"status"==="completed").
Run Code Online (Sandbox Code Playgroud)
如何为同一列添加多个值,如下所示.
df.where($"type" IN ("type1","type2") && $"status" IN ("completed","inprogress")
Run Code Online (Sandbox Code Playgroud) 我正在探索Spark进行批处理.我使用独立模式在本地计算机上运行spark.
我试图使用saveTextFile()方法将Spark RDD转换为单个文件[最终输出],但它不起作用.
例如,如果我有多个分区,我们可以将一个文件作为最终输出.
更新:
我尝试了以下方法,但我得到空指针异常.
person.coalesce(1).toJavaRDD().saveAsTextFile("C://Java_All//output");
person.repartition(1).toJavaRDD().saveAsTextFile("C://Java_All//output");
Run Code Online (Sandbox Code Playgroud)
例外是:
15/06/23 18:25:27 INFO Executor: Running task 0.0 in stage 1.0 (TID 1)
15/06/23 18:25:27 INFO deprecation: mapred.output.dir is deprecated. Instead, use mapreduce.output.fileoutputformat.outputdir
15/06/23 18:25:27 INFO deprecation: mapred.output.key.class is deprecated. Instead, use mapreduce.job.output.key.class
15/06/23 18:25:27 INFO deprecation: mapred.output.value.class is deprecated. Instead, use mapreduce.job.output.value.class
15/06/23 18:25:27 INFO deprecation: mapred.working.dir is deprecated. Instead, use mapreduce.job.working.dir
15/06/23 18:25:27 ERROR Executor: Exception in task 0.0 in stage 1.0 (TID 1)
java.lang.NullPointerException
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1012)
at org.apache.hadoop.util.Shell.runCommand(Shell.java:404)
at …Run Code Online (Sandbox Code Playgroud) apache-spark ×3
dataframe ×2
java ×2
parquet ×2
scala ×2
apache-kafka ×1
gzip ×1
hdfs ×1
lzo ×1
snappy ×1