小编For*_*ato的帖子

运行并编译'Hello,World!' 在哈斯克尔

我是Haskell的新手,遇到运行以下代码的问题:

module Main (
main
) where 
main = putStrLn "Hello, world!"
Run Code Online (Sandbox Code Playgroud)

SublimeHaskell尝试编译并运行上面的使用

runhaskell hello.hs
Run Code Online (Sandbox Code Playgroud)

它返回错误

hello.o: getModificationTime: invalid argument (The system cannot find the file specified.)
Run Code Online (Sandbox Code Playgroud)

我也试过用它来运行它

ghc --make hello.hs
Run Code Online (Sandbox Code Playgroud)

有同样的错误.当我尝试在使用命令行运行之前手动编译代码

ghc -c hello.hs
Run Code Online (Sandbox Code Playgroud)

我得到一个不同的错误:

CreateDirectory ".": invalid argument (Cannot create a file when that file already exists.)
Run Code Online (Sandbox Code Playgroud)

另一方面,我可以通过REPL运行程序而不会出现问题:

ghci
GHCi, version 8.0.1: http://www.haskel.org/ghc/  :? for help
Prelude> putStrLn "Hello, world!"
Hello, world!
Run Code Online (Sandbox Code Playgroud)

如果它是相关的,我使用的是Windows 7,并且我使用Haskell Platform安装程序安装了GHC.

***编辑运行上述命令并使用该-v标志给出以下结果:

ghc -v hello.hs

Glasgow Haskell Compiler, Version 8.0.1, stage 2 …
Run Code Online (Sandbox Code Playgroud)

haskell ghc

8
推荐指数
1
解决办法
752
查看次数

为什么要增加spark.yarn.executor.memoryOverhead?

我正在尝试加入两个大型spark数据帧,并继续遇到此错误:

Container killed by YARN for exceeding memory limits. 24 GB of 22 GB physical memory used. Consider boosting spark.yarn.executor.memoryOverhead.

这似乎是spark用户之间的常见问题,但我似乎找不到关于spark.yarn.executor.memoryOverheard是什么的任何可靠描述。在某些情况下,这听起来像是在YARN杀死容器之前是一种内存缓冲区(例如,请求10GB,但YARN直到使用10.2GB时才会杀死容器)。在其他情况下,听起来好像它被用来执行某种与我要执行的分析完全分离的数据记帐任务。我的问题是:

  • spark.yarn.executor.memoryOverhead用于什么?
  • 增加这种内存而不是执行程序内存(或执行程序数量)的好处是什么?
  • 总的来说,我是否可以采取一些措施来减少spark.yarn.executor.memoryOverhead的使用(例如,特定的数据结构,限制数据帧的宽度,使用更少的执行器和更多的内存等)?

hadoop-yarn apache-spark

8
推荐指数
1
解决办法
3251
查看次数

标签 统计

apache-spark ×1

ghc ×1

hadoop-yarn ×1

haskell ×1