Google Cloud Dataflow BigQueryIO.Write发生未知错误(http代码500)

有人问我谷歌云数据流BigQueryIO.Write发生未知错误(http代码500)吗? 我在4月,5月,6月使用Dataflow处理一些数据,我使用相同的代码处理4月数据(400MB)并写入BigQuery成功,但是当我处理May(60MB)或June(90MB)数据时,它失败了。 4月,5月和6月的数据格式相同。 将作者从BigQuery改为TextIO,工作会成功,所以我认为数据格式是好的。 日志仪表板没有任何错误日志….. 系统只有同样的未知错误 我写的代码在这里: http : //pastie.org/10907947 “执行BigQuery导入作业”后出现错误消息: Workflow failed. Causes: (cc846): S01:Read Files/Read+Window.Into()+AnonymousParDo+BigQueryIO.Write/DataflowPipelineRunner.BatchBigQueryIOWrite/DataflowPipelineRunner.BatchBigQueryIONativeWrite failed., (e19a27451b49ae8d): BigQuery import job “dataflow_job_631261” failed., (e19a745a666): BigQuery creation of import job for table “hi_event_m6” in dataset “TESTSET” in project “lib-ro-123” failed., (e19a2749ae3f): BigQuery execution failed., (e19a2745a618): Error: Message: An internal error occurred and the request could […]

使用JodaTime自动将秒数转换为年/日/小时/分钟?

有没有办法将’x’秒转换为y小时和z秒,当x超过3600秒时? 同样,使用JodaTime时,当x超过60但小于3600秒时,将其转换为’a minutes and b seconds’? 我明白我必须在PeriodFormatter中指定我需要的东西,但我不想指定它 – 我想要一个基于秒值的格式化文本。 这与您在论坛上发布的内容类似,然后您的post最初将显示为“10秒前发布”… 1分钟后您会看到“发布1分20秒前”,同样数周,日,年。

在解析XML时拦截Xstream

假设我有一个像这样的简单Java类: public class User { String firstName; String lastName; public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } } 现在,假设我想解析以下XML: Homer Simpson 我可以在XStream中执行此操作,如下所示: User homer = (User) xstream.fromXML(xml); 好的,到目前为止一切都很好,但这是我的问题。 假设我有以下要解析的XML: Homer Simpson […]

与Jackrabbit聚类

我即将开始集群在社区版本中由hippocms运行的jackrabbit存储库 。 我得到了它并运行但配置的一些部分我不明白。 我理解了以这种方式聚类长耳兔的概念 :你有两个实例,有两个本地存储库,它们通过共享数据库由火箭科学日志同步,但每个节点都在使用它的本地存储库。 阅读以下页面后,我最终得到了以下配置。 链接: http://wiki.apache.org/jackrabbit/Clustering http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/resources/org/apache/jackrabbit/core/cluster/repository-h2.xml?view=co&content-type=text/川 http://greymeister.net/blog/2011/11/28/jackrabbit-clustering-primer.html 信息: sharedRepositoryDS指向共享数据库repositoryDS指向本地数据库(在每个节点上) 问题: 配置是否正确? 什么是repository.FileSystem? 什么是与repository.Workspace.FileSystem的区别? PersistenceManager负责编写数据,但为什么要写入共享数据库? (我想摆脱这个瓶颈吧?) 数据库表这是本地节点数据库的样子(因为我的口味有点太少): 这是共享数据库的样子:

如果我有总节点数和它们之间的距离,如何创建路径?

我想生成一个图表。 我有3个输入。 节点总数和它们之间的距离。 例如, Total no of nodes J = 6, no of path can be created from them R = 8 input3 = {1#2#8, 1#4#7, 1#5#12, 2#3#4, 2#4#2, 3#6#6, 4#6#8, 5#6#10}. 我有这个信息。 第一个数字代表起始节点,第二个数字代表结束节点,第三个数字代表它们之间的距离,即第1和第2个节点之间的距离是8,第1和第4个节点之间的距离是7。 现在我想从它们创建路径。 我需要像这样的输出: first path can be 1->2->3-> 6 and total cost for that is 18 second path can be 1->2->4->6 and […]

Java读取带有补充unicode字符的字符流

我在使用Java读取补充unicode字符时遇到了麻烦。 我有一个文件可能包含补充集中的字符(任何大于\ uFFFF)。 当我设置我的InputStreamReader以使用UTF-8读取文件时,我希望read()方法为每个补充字符返回一个字符,而不是它似乎在16位阈值上分割。 我看到了一些关于基本unicode字符流的其他问题,但似乎没有什么能处理大于16位的情况。 这是一些简化的示例代码: InputStreamReader input = new InputStreamReader(file, “UTF8”); int nextChar = input.read(); while(nextChar != -1) { … nextChar = input.read(); } 有没有人知道我需要做什么来正确读取包含补充字符的UTF-8编码文件?

FileChannel和RandomAccessFile似乎不起作用

简单来说:使用sqlitejdbc作为后端的swing应用程序。 目前,启动使用相同数据库文件的多个实例没有问题。 应该有。 该文件已被锁定(在应用程序运行时无法将其删除)因此检查应该是微不足道的。 事实certificate不是。 File f = new File(“/path/to/file/db.sqlite”); FileChannel channel = new RandomAccessFile(f, “rw”).getChannel(); System.out.println(channel.isOpen()); System.out.println(channel.tryLock()); 结果是 true sun.nio.ch.FileLockImpl[0:9223372036854775807 exclusive valid] 无论应用程序是否正在运行。 我错过了这一点吗? TIA。

更改多窗口应用程序的任务栏组中显示的图标

在Windows 7上,应用程序可以控制如何在任务栏上对Windows进行分组。 Windows具有一些与可执行文件相关的默认设置,快捷方式的创建方式,程序名称等,以应用某些默认分组。 基于主机的应用程序(如Java)的问题是许多程序使用相同的可执行文件,因此Windows有一些注册表设置来设置javaw.exe是主机应用程序。 发生这种情况时,应用程序必须在运行时配置如何对Windows进行分组并启用引脚到任务栏。 我已经设置了应用程序用户模型ID ,以便根据需要对Windows进行分组。 我没有找到解决方案的问题是,对于多窗口应用程序:如何设置在任务栏上使用的稳定图标? 应用程序的默认Windows行为,例如,有两个窗口,每个窗口都有自己的图标,任务栏图标显示第一个打开的窗口的图标,如果该窗口关闭则更改为另一个窗口,以及每次打开和关闭窗口时都会重复此过程。 当用户将应用程序固定到任务栏设置System.AppUserModel.RelaunchIconResource窗口属性时 ,有一些API可以设置图标,但是文档说该应用程序被固定时会使用此图标,因此根据它仅使用它如果应用程序从那些固定的应用程序运行,则问题是无法固定的应用程序(或开发人员不希望允许固定)的问题。 有一些选项,比如使用图标生成新的可执行文件(从该应用程序启动JVM),使用正确的AppUserModelID创建快捷方式。 这些对我来说不是解决方案,因为应用程序是使用Java WebStart / JNLP分发的,因此应用程序快捷方式是由Java创建的,而启动程序是标记为宿主应用程序(应该如此) 另一个解决方案是在Windows 7上运行时为每个窗口设置相同的图标,除了任务栏之外,该图标在Aero模式下的Windows 7上不是很突出,但是当Aero禁用它时,它是在没有Windows预览的Alt +标签切换器上使用的图标,我希望为每个窗口留下不同的东西 注意:这是一个标记的Java,但对任何使用主机可执行文件的平台(javaw.exe,python.exe …)来说都是一个问题。

Jar文件给出了java.lang.NoClassDefFoundError

我有一个Eclipse项目,当我在Eclipse中运行它时运行正常。 我在Eclipse中创建了一个Jar文件。 但是当我使用以下命令运行它时: D:\Java\projects\fetch>java -Xss1000m -XX:-UseGCOverheadLimit -Xmx5048m -jar bin\fetch.jar 我收到以下错误: Exception in thread “main” java.lang.NoClassDefFoundError: info/monitorenter/cpdetector/io/ICodepageDetector at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Unknown Source) at java.lang.Class.getMethod0(Unknown Source) at java.lang.Class.getMethod(Unknown Source) at sun.launcher.LauncherHelper.getMainMethod(Unknown Source) at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source) Caused by: java.lang.ClassNotFoundException: info.monitorenter.cpdetector.io.ICodepageDetector at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown […]

用于http请求和响应日志记录的HttpLoggingInterceptor

我正在使用retrofit2,我需要记录所有请求和响应。 请求和响应工作完美,我只需要记录这些请求/响应,我尝试了几乎所有解决方案,我在这里找到,但没有找到解决方案。 我不明白这里有什么不对 这是我的代码 class Factory { private final static OkHttpClient.Builder httpClient = new OkHttpClient.Builder(); private static NetworkApi.Factory serverApi; private static HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor(); private Retrofit retrofit = new Retrofit.Builder() .baseUrl(RequestApi.BASE_URL) .client(httpClient.build()) .addConverterFactory(GsonConverterFactory.create()) .build(); public static NetworkApi getApi() { if (BuildConfig.DEBUG){ interceptor.setLevel(HttpLoggingInterceptor.Level.BODY); httpClient.addInterceptor(new Interceptor() { @Override public Response intercept(Chain chain) throws IOException { […]