我试图使用Bluebird的协同程序如下:
var p = require('bluebird');
//this should return a promise resolved to value 'v'
var d = p.coroutine(function*(v) { yield p.resolve(v); });
//however this prints 'undefined'
d(1).then(function(v){ console.log(v); });
Run Code Online (Sandbox Code Playgroud)
这里有什么不对?
我正在访问一个非常大的Pandas数据帧作为全局变量.通过joblib并行访问此变量.
例如.
df = db.query("select id, a_lot_of_data from table")
def process(id):
temp_df = df.loc[id]
temp_df.apply(another_function)
Parallel(n_jobs=8)(delayed(process)(id) for id in df['id'].to_list())
Run Code Online (Sandbox Code Playgroud)
以这种方式访问原始df似乎是跨进程复制数据.这是意料之外的,因为原始df在任何子进程中都没有被改变?(或者是吗?)
具体来说,在身份验证和重定向之后,request.user是一个匿名用户.
登录(查看功能)
def login(request):
if request.method == 'POST':
form = LoginForm(request.POST)
if form.is_valid():
#django.contrib.auth.login
Login(request, form.get_user())
str = reverse('cm_base.views.index')
return HttpResponseRedirect(str)
else:
# Their password / email combination must have been incorrect
pass
else:
form = LoginForm()
return render_to_response('cm_base/login.html',
{"DEBUG": True,
'form' : form
},
context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
在索引视图中,我删除了login_required装饰器并测试了request.user对象
def index(request):
test = request.user.is_authenticated()
return render_to_response('cm_base/index.html',
{"DEBUG": True,
"user": request.user,},
context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
测试返回false.
固定
我最后只是直接调用索引视图.当我调用HttpResponseRedirect时,我仍然对用户对象丢失的原因感到困惑.
def login(request):
if request.method == 'POST':
form = LoginForm(request.POST) # Not shown in this example
if form.is_valid():
Login(request, …Run Code Online (Sandbox Code Playgroud) EMR主节点上的emrfs-site.xml在哪里?
在EMR UI中禁用了一致视图,但我无法找到要验证的配置文件.
sudo find / -name emrfs-site.xml
Run Code Online (Sandbox Code Playgroud)
产量
/var/aws/emr/bigtop-deploy/puppet/modules/emrfs/templates/emrfs-site.xml
/usr/share/aws/emr/emrfs/conf/emrfs-site.xml
Run Code Online (Sandbox Code Playgroud)
这两者似乎都不相关.
import org.apache.spark.api.java.JavaRDD
import org.apache.spark.rdd.RDD
import scala.reflect.ClassTag
class TestRDD[T: ClassTag](rdd: RDD[T]) extends JavaRDD(rdd)
Run Code Online (Sandbox Code Playgroud)
从控制台接受此语句.但是在编译时会抛出以下错误:
No ClassTag available for T
[error] class TestRDD[T: ClassTag](rdd: RDD[T]) extends JavaRDD(rdd)
[error] ^
[error] one error found
[error] (jobs/it:compileIncremental) Compilation failed
Run Code Online (Sandbox Code Playgroud) 来自 AWS Lambda 常见问题解答:
问:我可以一次执行的 AWS Lambda 函数的数量是否有限制?
不可以。AWS Lambda 旨在并行运行您的函数的多个实例。但是,AWS Lambda 的默认安全限制是每个区域每个账户 100 个并发执行。如果您希望提交增加 100 个并发执行限制的请求,您可以访问我们的支持中心,单击“打开新案例”,并提交服务限制增加请求。
问:如果我的账户超过并发执行的默认节流限制会怎样?
超过节流限制时,同步调用的 AWS Lambda 函数将返回节流错误(429 错误代码)。异步调用的 Lambda 函数可以在大约 15-30 分钟内吸收合理的流量突发,此后传入事件将被拒绝,因为受到限制。如果 Lambda 函数被调用以响应 Amazon S3 事件,AWS Lambda 拒绝的事件可能会保留并由 S3 重试 24 小时。重试来自 Amazon Kinesis 流和 Amazon DynamoDB 流的事件,直到 Lambda 函数成功或数据过期。Amazon Kinesis 和 Amazon DynamoDB Streams 将数据保留 24 小时。
什么构成上述“合理爆发”?有人有具体的数字吗?
在 hive 元存储之上运行 Spark 的 thriftserver。
当我通过执行以下 DDL 时spark.sql
create table if not exists test_table
USING org.apache.spark.sql.parquet
OPTIONS (
path "s3n://parquet_folder/",
mergeSchema "true")
Run Code Online (Sandbox Code Playgroud)
发出以下堆栈跟踪;重点是指定的主机 IP(例如 172.31.8.86)不存在。
java.net.NoRouteToHostException: No Route to Host from ip-172-31-13-2/172.31.13.2 to ip-172-31-8-86.us-west-2.compute.internal:8020 failed on socket timeout exception: java.net.NoRouteToHostException: No route to host; For more details see: http://wiki.apache.org/hadoop/NoRouteToHost
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.apache.hadoop.net.NetUtils.wrapWithMessage(NetUtils.java:792)
at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:758)
at org.apache.hadoop.ipc.Client.call(Client.java:1479)
at org.apache.hadoop.ipc.Client.call(Client.java:1412)
at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:229)
at com.sun.proxy.$Proxy13.delete(Unknown Source)
at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.delete(ClientNamenodeProtocolTranslatorPB.java:540)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) …Run Code Online (Sandbox Code Playgroud) 使用预先存在的数据集
s3://data/id=1/file.parquet
s3://data/id=2/file.parquet
Run Code Online (Sandbox Code Playgroud)
和传入的数据帧
/data/id=3/
Run Code Online (Sandbox Code Playgroud)
如果传入的数据写入SaveMode.Append
df.write.partitionBy("id").mode(SaveMode.Append).parquet("s3://data/")
如果预先存在的数据集中的任何数据将被复制到创建的临时目录,会怎么样?
Ive使用Glue Data目录创建了一个EMR集群。调用spark-shell时,我可以通过以下方式成功列出存储在Glue数据库中的表:
spark.catalog.setCurrentDatabase("test")
spark.catalog.listTables
Run Code Online (Sandbox Code Playgroud)
但是,当我通过提交工作时spark-submit出现致命错误
ERROR ApplicationMaster: User class threw exception: org.apache.spark.sql.AnalysisException: Database 'test' does not exist.;
Run Code Online (Sandbox Code Playgroud)
我创建工作中我SparkSession通过提交spark-submit经
SparkSession.builder.enableHiveSupport.getOrCreate
Run Code Online (Sandbox Code Playgroud) apache-spark ×3
amazon-emr ×2
emr ×2
amazon-s3 ×1
aws-glue ×1
aws-lambda ×1
bluebird ×1
coroutine ×1
django ×1
hive ×1
javascript ×1
joblib ×1
node.js ×1
pandas ×1
parquet ×1
promise ×1
python ×1
scala ×1