我正在使用jQuery.ajax进行REST调用并检索一些JSON.它按预期工作.但是,当我强制执行错误条件(例如无效的URL)时,always方法不会触发.如果我设置crossDomain = false或dataType ='json',那么总是会触发.但是,我不能在我的生产代码中这样做.如果你设置url =' http://ip.jsontest.com/ '然后总是触发.我创建了一个小例子来说明问题:
var jqXHR = jQuery.ajax({
type: 'GET',
async: false,
cache: false,
url: 'http://ip.jsontest.com.BADURL/',
contentType: 'application/json; charset=UTF-8',
crossDomain: true,
dataType: 'jsonp'
})
.done(function (data, textStatus, jqXHR) {
console.log('Your IP is ' + data.ip);
console.log('done was called');
})
.fail(function (jqXHR, textStatus, errorThrown) {
console.log('fail was called');
})
.always(function (dataOrjqXHR, textStatus, jqXHRorErrorThrown) { console.log('always was called'); });
Run Code Online (Sandbox Code Playgroud)
您可以在使用jQuery 1.9.1的jquery.com的控制台中运行它.我使用jQuery 1.11.1有相同的行为.当网址不可用时,我总是需要触发以处理时间.我在IE11,Chrome 38和FF 33中都有相同的行为.我做错了什么或者这是一个错误?谢谢.
我有一个 360GB 的管道分隔文本文件,经过压缩 (gzip)。该文件位于 S3 存储桶中。这是我第一次使用 Spark。据我所知,您可以对文件进行分区,以便允许多个工作节点对数据进行操作,从而带来巨大的性能提升。但是,我正在尝试找到一种有效的方法将我的一个 360GB 文件转换为分区文件。有没有一种方法可以使用多个 Spark 工作节点来处理我的一个压缩文件以便对其进行分区?不幸的是,我无法控制我只得到一个巨大文件的事实。我可以自己解压缩该文件并将其分解为许多文件(例如 360 1GB 文件),但我只使用一台机器来执行此操作,并且速度会非常慢。我需要使用 Spark 对数据运行一些昂贵的转换,因此我认为对文件进行分区是必要的。我在 Amazon Glue 中使用 Spark,因此我知道它可以扩展到大量机器。另外,我正在使用 python (pyspark)。
谢谢。
我正在尝试使用 Amazon Glue 将一行变成多行。我的目标是类似于 SQL UNPIVOT。
我有一个 360GB 的管道分隔文本文件,压缩 (gzip)。它有超过 1,620 列。这是基本布局:
primary_key|property1_name|property1_value|property800_name|property800_value
12345|is_male|1|is_college_educated|1
Run Code Online (Sandbox Code Playgroud)
这些属性名称/值字段有 800 多个。大约有 2.8 亿行。该文件位于 S3 存储桶中。我需要将数据导入 Redshift,但 Redshift 中的列限制为 1,600。
用户希望我取消数据透视。例如:
primary_key|key|value
12345|is_male|1
12345|is_college_educated|1
Run Code Online (Sandbox Code Playgroud)
我相信我可以为此使用 Amazon Glue。但是,这是我第一次使用 Glue。我正在努力想出一个好方法来做到这一点。一些 pySpark 扩展转换看起来很有希望(也许,“映射”或“关系化”)。请参阅http://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-etl-scripts-pyspark-transforms.html。所以,我的问题是:在 Glue 中这样做的好方法是什么?
谢谢。