小编Lea*_*210的帖子

如何在 HDFS 上将 Spark 数据帧保存到 csv?

Spark 版本:1.6.1,我使用 pyspark API。

DataFrame:df,有两列。

我试过了:

1: df.write.format('csv').save("hdfs://path/bdt_sum_vol.csv")
2: df.write.save('hdfs://path/bdt_sum_vol.csv', format='csv', mode='append')
3: df.coalesce(1).write.format('com.databricks.spark.csv').options(header='true').save('hdfs://path/')
4: df.write.format('com.databricks.spark.csv').save('hdfs://path/df.csv')

(All above didn't work, Failed to find data source)
Run Code Online (Sandbox Code Playgroud)

或者:

def toCSVLine(data):
    return ','.join(str(d) for d in data)

lines = df.rdd.map(toCSVLine)
lines.saveAsTextFile('hdfs://path/df.csv')  

(Permission denied)
Run Code Online (Sandbox Code Playgroud)

问:

1、如何解决“找不到数据源”?

2,我用sudo在hdfs上制作字典“/path”,如果我把dataframe转为rdd,如何在hdfs上将rdd写入csv?

非常感谢!

python csv hdfs apache-spark pyspark

5
推荐指数
1
解决办法
1万
查看次数

Shiny:如何在获取数据后或在给定时间停止处理invalidateLater()

我想继续刷新直到10:05,10:05之后我得到了tplus0_dt并停止处理invalidaterLater()。

10:00之前,tplus0_dt不存在,所以我需要不断刷新直到10:05。10:05之后,不需要重新刷新,当tplus0_dt变得非常大时,invalidaterLater()会影响table1的显示,屏幕和绘图每隔1秒就会变成灰色,所以看起来更新时页面已经死了发生。

那么我该如何停止处理 invalidateLater() 并在 10:05 之后继续显示数据呢?感谢帮助!我的示例代码如下。

require(shiny)
require(data.table)
app <- shinyApp(
    server = function(input, output, session){
            get_tplus0_data <- reactive({
                    time <- substr(as.character(Sys.time()), 12, 16)
                    invalidateLater(1000)
                    if(time >= "10:05"){
                            # tplus0_dt<-data.table(read.csv("/data/df_highest_after_signal.csv",header = T, sep = ",", stringsAsFactors = F)) 
                            tplus0_dt<- data.table(a = c(1, 2, 3, 4), b = c(3, 4, 5, 8)) 
                            return(tplus0_dt)
                    }

            })
            output$table1 <- renderTable({get_tplus0_data()})
    },
    ui = fluidPage( tableOutput("table1")  )
)

runApp(app)
Run Code Online (Sandbox Code Playgroud)

r shiny

2
推荐指数
2
解决办法
2452
查看次数

R:如何判断同一周的Date?

我想创建一个新的 colume 来表示哪个日期在同一周。

data.table DATE_SET 包含日期信息,例如:

DATA_SET<- data.table(transday = seq(from  = (Sys.Date()-64), to = Sys.Date(), by = 1))
Run Code Online (Sandbox Code Playgroud)

例如,'2017-03-01'和'2017-03-02'在同一周,'2017-03-01'和'2017-03-08'都是星期三,但它们不在同一周.

如果“2016-01-01”是2016年的第一周,“2017-01-01”是2017年的第一周,则值为1,但它们不在同一周。所以我想要独特的价值来指定“同一周”。

r data.table

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

标签 统计

r ×2

apache-spark ×1

csv ×1

data.table ×1

hdfs ×1

pyspark ×1

python ×1

shiny ×1