当我执行此Java代码时:
(注意:字符串参数是虚拟示例)
package bigquery.test;
import java.io.FileInputStream;
import java.io.InputStream;
import com.google.auth.oauth2.GoogleCredentials;
import com.google.cloud.bigquery.BigQuery;
import com.google.cloud.bigquery.BigQueryOptions;
import com.google.cloud.bigquery.Job;
import com.google.cloud.bigquery.Table;
import com.google.cloud.bigquery.TableId;
public class GoogleBigQueryErrors {
static BigQuery __bigquery__;
public static void main(String[] args) {
try {
prepare();
} catch (Exception e) {
e.printStackTrace();
System.exit(1);
}
TableId tableId = com.google.cloud.bigquery.TableId.of("DATA_SET", "TABLE");
Table table = __bigquery__.getTable(tableId);
Job job = table.load(com.google.cloud.bigquery.FormatOptions.json(),
"gs://URI_PATH/HASH.bigquery.json");
Job completedJob = null;
try {
completedJob = job.waitFor(); // HERE THE ERROR IS RAISED
} catch (Exception e) {
e.printStackTrace();
System.exit(2);
}
}
private static void prepare() throws Exception {
String projectId = "PROJECT_ID";
String credentialsFile = "PATH/FILE.json";
InputStream credentialsStream = new FileInputStream(credentialsFile);
GoogleCredentials credentials = GoogleCredentials.fromStream(credentialsStream);
BigQueryOptions options = BigQueryOptions.newBuilder().setProjectId(projectId).setCredentials(credentials)
.build();
BigQuery bigquery = options.getService();
__bigquery__ = bigquery;
;
}
}
我有这个错误:com.google.cloud.bigquery.BigQueryException:读取数据时出错,错误消息:JSON表遇到太多错误,放弃。行:1;错误:1。请查看错误[]集合了解更多详细信息。
我想迭代此错误集合,但未能成功:(
有人能给我一个提示吗?
我在Python中发现了一些东西:
但是,我没有成功地获得Java等价物。
我查看了JavaDoc:https://javadoc.io/doc/com.google.cloud/google-cloud-bigquery/latest/index.html
Javadoc中有几个waitFor()
的示例用法,例如:
Job completedJob = job.waitFor();
if (completedJob == null) {
// job no longer exists
} else if (completedJob.getStatus().getError() != null) {
// job failed, handle error
} else {
// job completed successfully
}
在该示例中,它显示了对作业调用getStatus()
,以获取作业状态。
一旦有了一个作业状态,就可以调用各种内容,包括getExecutionErrors()来获取错误,如下所述:
返回作业运行期间遇到的所有错误。此处的错误不一定意味着作业已完成或未成功。
像这样的东西应该接近你想要的:
List<BigQueryError> errors = job.getStatus().getExecutionErrors();
for (BigQueryError error : errors) {
// do things with each error
}
是否可以在java中并行地迭代一个集合。我正在中寻找类似C#的东西-命名空间
本文向大家介绍在Java中迭代ArrayList,包括了在Java中迭代ArrayList的使用技巧和注意事项,需要的朋友参考一下 Java中的Iterator用于遍历集合中的每个元素。使用它遍历,获取每个元素,或者甚至可以从ArrList中删除元素。要使用迭代器遍历集合的内容,请首先通过调用集合的iterator()方法来获得一个迭代器,使其到达集合的开头。在那之后,建立一个循环来调用hasNe
我试图遍历一个数据集来进行一些字符串相似性计算,如Jaro winkler或余弦相似性。我将数据集转换为行列表,然后用for语句遍历,这不是有效的spark方法。因此,我期待在Spark中找到更好的方法。 我发现了许多我不清楚的JavaRDD示例。数据集示例将对我有很大帮助。
null 一些示例输出数据: *编辑:工作的scala代码行:
问题内容: AFAIK有两种方法: 遍历集合的副本 使用实际集合的迭代器 例如, 和 是否有任何理由偏爱一种方法(例如,出于可读性的简单原因而偏爱第一种方法)? 问题答案: 让我举几个例子,并提出一些避免方案。 假设我们有以下藏书 收集并删除 第一种技术是收集所有要删除的对象(例如,使用增强的for循环),并在完成迭代后删除所有找到的对象。 假设你要执行的操作是“删除”。 如果要“添加”此方法也可
问题内容: 在迭代集合时是否可以向集合中添加元素? 更具体地说,我想遍历一个集合,如果一个元素满足特定条件,我想向集合中添加一些其他元素,并确保也对这些添加的元素进行遍历。(我意识到这可能会导致循环终止,但是我很确定不会发生这种情况。) Sun 的Java教程建议不可能:“请注意,这是在迭代过程中修改集合的唯一安全方法;如果在迭代进行过程中对基础集合进行了其他任何修改,则行为未指定。” 因此,如果