根据这个
Catalyst应用逻辑优化,例如谓词下推.优化器可以将过滤器谓词下推到数据源中,使物理执行能够跳过不相关的数据.
Spark支持将谓词下推到数据源.此功能是否也适用于JDBC?
(通过检查数据库日志,我可以看到它现在不是默认行为 - 完整查询将传递给数据库,即使它后来受到限制因素限制)
更多细节
使用PostgreSQL 9.4运行Spark 1.5
代码段:
from pyspark import SQLContext, SparkContext, Row, SparkConf
from data_access.data_access_db import REMOTE_CONNECTION
sc = SparkContext()
sqlContext = SQLContext(sc)
url = 'jdbc:postgresql://{host}/{database}?user={user}&password={password}'.format(**REMOTE_CONNECTION)
sql = "dummy"
df = sqlContext.read.jdbc(url=url, table=sql)
df = df.limit(1)
df.show()
Run Code Online (Sandbox Code Playgroud)
SQL跟踪:
< 2015-09-15 07:11:37.718 EDT >LOG: execute <unnamed>: SET extra_float_digits = 3
< 2015-09-15 07:11:37.771 EDT >LOG: execute <unnamed>: SELECT * FROM dummy WHERE 1=0
< 2015-09-15 07:11:37.830 EDT >LOG: execute <unnamed>: SELECT c.oid, a.attnum, a.attname, c.relname, …
Run Code Online (Sandbox Code Playgroud) 简短的问题:是否可以配置git,以便常规git pull将忽略某些文件?
问题描述:我有一个包含一些大数据文件的存储库(使用git lfs存储)
虽然一些处理数据文件的开发人员需要这些文件的更新版本,但其他开发人员需要这些文件,但不一定需要最新版本.
他们确实需要更新的代码版本.数据文件与代码位于同一个存储库中.
我想设置常规拉不会更新数据文件的方式.
据我所知,a luigi.Target
既可以存在,也可以不存在.因此,如果luigi.Target
存在,则不会重新计算.
我正在寻找一种方法来强制重新计算任务,如果其中一个依赖项被修改,或者其中一个任务的代码发生了变化.
我的问题涉及12因素应用宣言的第一个因素:代码库.(见http://12factor.net/codebase).
TL; DR:
这个因素表明代码库和部署之间存在一对一的关系,所以在这种情况下,你不应该为两个应用程序使用相同的代码库(存储库)
我的要求:我有一个网站Spring应用程序和一个批处理Spring应用程序共享一个公共代码,即域模型(JPA实体类).我需要能够分享这个共同的代码.而这两个应用程序需要使用的通用代码相同的版本在任何一个时间.
我目前的设置:我目前在github上有三个"顶级"存储库:
git subtree pull/push
)git subtree pull/push
)另请注意,域模型存储库单独存在(如上所述),但也嵌套在网站和批处理应用程序存储库中.我使用a git subtree pull/push
来包含此域模型仓库作为目录和另外两个仓库中的gradle项目.原因是Heroku从repos构建代码本身.
所有这些都非常乏味且容易出错.
有人可以建议更好的解决方案吗?
我最近选择了一个相当讨厌的构建过程的项目.JAXB读取手工编码的XSD模式以生成类和工厂的Java模型,该模型用于手工编码的Java Web服务类(带注释),然后将其部署到服务器,该服务器用作读取完整的源的源WSDL来自以生成第二个基于Java的模型,该模型包括用于客户端程序的完整WSDL的服务和工厂类.
这听起来很糟糕,我认为我不需要它如此复杂,所以在某些阶段我想把这一切都扔掉,或者
无论哪种方式,我想最终得到一个服务器和客户端都可以使用的模型的源代码库,并且对于模型应该具有一个"真实来源",在那时我觉得我有几个.
目前我倾向于第二种选择,但你会选择哪种?你会使用哪些技术?
我正在尝试实现一个scala函数对象(具体来说 - 与apache spark一起使用)
等效的java类型是scala.Function0
(对于参数少的函数)
除了实现业务逻辑的方法apply()
,我看到我必须实现其他几个方法.
简单的谷歌搜索方法名称没有帮助(我看到了关于tag
应该实现的方法的参考- 但这里的方法名称是不同的.
这是使用这些方法的代码(使用空实现).
private static class functionObject implements Function0<Integer>{
@Override
public Integer apply() {
// TODO Auto-generated method stub
return null;
}
@Override
public byte apply$mcB$sp() {
// TODO Auto-generated method stub
return 0;
}
@Override
public char apply$mcC$sp() {
// TODO Auto-generated method stub
return 0;
}
@Override
public double apply$mcD$sp() {
// TODO Auto-generated method stub
return 0;
}
@Override
public float apply$mcF$sp() {
// TODO …
Run Code Online (Sandbox Code Playgroud) 我有几个占用大量内存的大型对象(sklearn模型),我想在几个进程之间共享它们.有没有办法做到这一点?
我想知道在使用git lfs时是否可以最小化大文件的下载时间.
具体来说,以下场景:
[我知道git附件对这些功能有更好的支持,但它的Windows支持是有问题的]
给定两个3d对象,我如何找到一个是否适合第二个(并在容器中找到对象的位置).
应该翻译和旋转对象以适合容器 - 但不会另行修改.
其他并发症:
相同的情况 - 但寻找最合适的解决方案,即使它不是一个正确的匹配(最小化不适合容器的对象的体积)
支持弹性物体 - 找到最佳配合,同时最小化物体中的"扭曲"
这是一个相当普遍的问题 - 我不希望有完整的解决方案.任何指向相关论文\ articles\libraries\tools的指针都会很有用
python ×4
git ×2
git-lfs ×2
java ×2
12factor ×1
algorithm ×1
apache-spark ×1
git-annex ×1
github ×1
gradle ×1
heroku ×1
java-ee ×1
jdbc ×1
keras ×1
luigi ×1
pyspark ×1
scala ×1
scikit-learn ×1
soa ×1
tensorboard ×1
tensorflow ×1
web-services ×1
wsdl ×1