假设互联网上有一台服务器可以发送一段代码进行评估.在某些时候,服务器会获取已提交的所有代码,并开始运行和评估它.但是,在某些时候它肯定会碰到一些邪恶的程序员发送的"os.system('rm -rf*')".除了"rm -rf"之外,你可以期待人们尝试使用服务器发送垃圾邮件或者给某人发送垃圾邮件,或者使用"while True:pass"之类的东西.
有没有办法与这种不友好/不受信任的代码合作?特别是我对python的解决方案很感兴趣.但是,如果您有任何其他语言的信息,请分享.
我只是想知道将静态内容添加到phar档案(图像,javascript或html文件)是否合法.如果是这样,我如何让它们服务于客户?
我到目前为止看到的唯一例子是:
<?php
header('Content-type: image/jpeg');
echo file_get_contents('phar:///fullpath/to/coollibrary.phar/images/wow.jpg');
?>
Run Code Online (Sandbox Code Playgroud)
但我想这不是一个可行的方法.
更新:以防万一有人会尝试做同样的事情.这段代码设置为phar存档的存根,对我有用:
<?php
Phar::interceptFileFuncs();
Phar::mungServer(array('REQUEST_URI'));
Phar::webPhar();
__HALT_COMPILER();
?>
Run Code Online (Sandbox Code Playgroud)
phar存档中的所有静态内容仍然通过php解释器,但至少不需要像设置头部mime类型和手动使用readfile()提供静态文件内容.phar存根中的这些功能使其看起来透明.
我正在寻找一个用于发布为html的python代码荧光笔.我发现这个网站http://quickhighlighter.com确实很好地突出了.但是,如果我尝试将一些python代码复制/粘贴到文本文件中,我就会搞得一团糟.如果您知道更好的工具,请告诉我.
提前致谢.
我正在玩Storm.这是我正在使用的拓扑:
builder.setSpout("word", new RandomSentenceSpout(), 3);
builder.setBolt("exclaim1", new ExclamationBolt(), 6).shuffleGrouping("word");
Run Code Online (Sandbox Code Playgroud)
我认为Storm会为这个拓扑产生9个执行器(3个喷口+ 6个螺栓),但是当我实际运行它时,我可以看到11个执行器正在运行.
那两个额外的执行者是什么?
我正在尝试构建从这里下载的Oozie 4.2.0:http://ftp.cixug.es/apache/oozie/4.2.0/oozie-4.2.0.tar.gz
启动构建后
bin/mkdistro.sh -DskipTests
Run Code Online (Sandbox Code Playgroud)
我收到这个错误:
[ERROR] Failed to execute goal on project oozie-core: Could not resolve dependencies for project org.apache.oozie:oozie-core:jar:4.2.0: Could not transfer artifact org.apache.hbase:hbase:jar:1.1.1 from/to Codehaus repository (http://repository.codehaus.org/): Unknown host repository.codehaus.org
Run Code Online (Sandbox Code Playgroud)
从我在互联网上看到的,codehause存储库不再可用.有没有办法在没有它的情况下建造Oozie?
我试图找出我的 Spark 应用程序正在执行的配置参数。有没有办法获取所有参数,包括默认参数?
例如,如果您执行“set;” 在 Hive 控制台上,它将列出完整的 Hive 配置。我正在寻找 Spark 的类似操作/命令。
更新:我已经尝试了 karthik manchala 提出的解决方案。我得到这些结果。据我所知,这些还不是全部参数。例如,这个spark.shuffle.memoryFraction(以及更多)丢失了。
scala> println(sc.getConf.getAll.deep.mkString("\n"));
(spark.eventLog.enabled,true)
(spark.dynamicAllocation.minExecutors,1)
(spark.org.apache.hadoop.yarn.server.webproxy.amfilter.AmIpFilter.param.PROXY_HOSTS,...)
(spark.repl.class.uri,http://...:54157)
(spark.tachyonStore.folderName,spark-46d43c17-b0b3-4b61-a017-a186075849ca)
(spark.org.apache.hadoop.yarn.server.webproxy.amfilter.AmIpFilter.param.PROXY_URI_BASES,http://...)
(spark.driver.host,...l)
(spark.yarn.jar,local:/opt/cloudera/parcels/CDH-5.4.7-1.cdh5.4.7.p0.3/lib/spark/lib/spark-assembly.jar)
(spark.yarn.historyServer.address,http://...:18088)
(spark.dynamicAllocation.executorIdleTimeout,60)
(spark.serializer,org.apache.spark.serializer.KryoSerializer)
(spark.authenticate,false)
(spark.fileserver.uri,http://...:33681)
(spark.app.name,Spark shell)
(spark.dynamicAllocation.maxExecutors,30)
(spark.dynamicAllocation.initialExecutors,3)
(spark.ui.filters,org.apache.hadoop.yarn.server.webproxy.amfilter.AmIpFilter)
(spark.driver.port,46781)
(spark.shuffle.service.enabled,true)
(spark.master,yarn-client)
(spark.eventLog.dir,hdfs://.../user/spark/applicationHistory)
(spark.app.id,application_1449242356422_80431)
(spark.driver.appUIAddress,http://...:4040)
(spark.driver.extraLibraryPath,/opt/cloudera/parcels/CDH-5.4.7-1.cdh5.4.7.p0.3/lib/hadoop/lib/native)
(spark.dynamicAllocation.schedulerBacklogTimeout,1)
(spark.shuffle.service.port,7337)
(spark.executor.id,<driver>)
(spark.jars,)
(spark.dynamicAllocation.enabled,true)
(spark.executor.extraLibraryPath,/opt/cloudera/parcels/CDH-5.4.7-1.cdh5.4.7.p0.3/lib/hadoop/lib/native)
(spark.yarn.am.extraLibraryPath,/opt/cloudera/parcels/CDH-5.4.7-1.cdh5.4.7.p0.3/lib/hadoop/lib/native)
Run Code Online (Sandbox Code Playgroud) 大家.请参阅下面的示例.我想为'schedule_action'方法提供一个字符串,该方法指定应该调用什么Bot类方法.在下面的例子中,我把它表示为'bot.action()',但我不知道如何正确地做到这一点.请帮忙
class Bot:
def work(self): pass
def fight(self): pass
class Scheduler:
def schedule_action(self,action):
bot = Bot()
bot.action()
scheduler = Scheduler()
scheduler.schedule_action('fight')
Run Code Online (Sandbox Code Playgroud) 我想快速修复一个项目的.so库.重新编译.so并替换原始文件是否安全?或者我必须重建并重新安装整个项目?还是取决于?
我正在python中编写一个小CLI(在cmd模块的帮助下).目前我正在尝试替换所有os.system出现的事件subprocess.call.
我面临的问题是,如果我运行外部脚本os.system,在我CTRL-C只打了一个子shell终止后(我回到我的CLI).当我用subprocess.call和运行相同的脚本时CTRL-C,脚本和我的CLI都终止执行.
有没有办法模仿这种os.system行为subprocess.call?
哪种工具可以测量消耗的HDFS空间?
当我总结"hdfs dfs -du /"的输出时,与"hdfs dfsadmin -report"("DFS Used"行)相比,我总是消耗更少的空间.是否存在du未考虑的数据?
python ×4
apache-spark ×1
apache-storm ×1
hadoop ×1
hdfs ×1
java ×1
linux ×1
oozie ×1
phar ×1
php ×1
recompile ×1
subprocess ×1
upgrade ×1