相关疑难解决方法(0)

如何检查spark数据帧是否为空

现在,我必须用来df.count > 0检查它是否DataFrame为空.但它效率低下.有没有更好的方法来做到这一点.

谢谢.

PS:我想检查它是否为空,以便我只保存,DataFrame如果它不是空的

apache-spark apache-spark-sql

82
推荐指数
9
解决办法
6万
查看次数

写入 hdfs 路径时出现错误 java.io.IOException: Failed to rename

我使用的是使用 hadoop-2.6.5.jar 版本的 spark-sql-2.4.1v。我需要先将数据保存在 hdfs 上,然后再转移到 cassandra。因此,我试图将数据保存在 hdfs 上,如下所示:

String hdfsPath = "/user/order_items/";
cleanedDs.createTempViewOrTable("source_tab");

givenItemList.parallelStream().forEach( item -> {   
    String query = "select $item  as itemCol , avg($item) as mean groupBy year";
    Dataset<Row> resultDs = sparkSession.sql(query);

    saveDsToHdfs(hdfsPath, resultDs );   
});


public static void saveDsToHdfs(String parquet_file, Dataset<Row> df) {
    df.write()                                 
      .format("parquet")
      .mode("append")
      .save(parquet_file);
    logger.info(" Saved parquet file :   " + parquet_file + "successfully");
}
Run Code Online (Sandbox Code Playgroud)

当我在集群上运行我的工作时,它无法抛出此错误:

java.io.IOException: Failed to rename FileStatus{path=hdfs:/user/order_items/_temporary/0/_temporary/attempt_20180626192453_0003_m_000007_59/part-00007.parquet; isDirectory=false; length=952309; replication=1; blocksize=67108864; modification_time=1530041098000; access_time=0; owner=; group=; permission=rw-rw-rw-; isSymlink=false} to hdfs:/user/order_items/part-00007.parquet …
Run Code Online (Sandbox Code Playgroud)

hadoop hdfs apache-spark hadoop2 apache-spark-sql

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

标签 统计

apache-spark ×2

apache-spark-sql ×2

hadoop ×1

hadoop2 ×1

hdfs ×1