小编ant*_*o12的帖子

从时间戳[us, tz=Etc/UTC] 转换为时间戳[ns] 将导致时间戳超出范围

我有一个功能可以让我从客户端应用程序查询数据块增量表。这是我用于此目的的代码:

df = spark.sql('SELECT * FROM EmployeeTerritories LIMIT 100')
dataframe = df.toPandas()
dataframe_json = dataframe.to_json(orient='records', force_ascii=False)
Run Code Online (Sandbox Code Playgroud)

但是,第二行抛出了错误

从时间戳[us, tz=Etc/UTC] 转换为时间戳[ns] 将导致时间戳超出范围

我知道这个错误是什么意思,我的日期类型字段超出范围,我尝试寻找解决方案,但它们都不适合我的场景。

我找到的解决方案是关于特定的数据框列,但就我而言,我遇到了一个全局问题,因为我有大量的增量表,并且我不知道特定的日期类型列,所以我可以进行类型操作以避免这种情况。

是否可以找到所有Timestamp类型列并将它们转换为string?这看起来是一个很好的解决方案吗?对于如何实现我想要做的事情,您还有其他想法吗?

pandas apache-spark apache-spark-sql pyspark databricks

12
推荐指数
1
解决办法
2万
查看次数

无法使私有 java.nio.DirectByteBuffer(long,int) 可访问

我正在使用 Python 通过databricks-connect. 在墙后面,这使用了 Spark,它确实是基于 java 的,所以为了使用它,我需要 java。JDK已下载(版本14),设置为JAVA_HOME env,但是当我运行代码时,出现以下错误:

引起原因:java.lang.reflect.InaccessibleObjectException:无法使私有java.nio.DirectByteBuffer(long,int)可访问:模块java.base不会“打开java.nio”到未命名模块@bccb269

这是崩溃的代码

from pyspark.sql import SparkSession
spark = SparkSession.builder.getOrCreate()
Run Code Online (Sandbox Code Playgroud)

我用谷歌搜索但找不到这个错误,我认为这不是我第一次遇到。任何想法这个错误意味着什么以及如何修复它?

java databricks databricks-connect

11
推荐指数
1
解决办法
1万
查看次数

如何避免在.NET Core中的异步调用中释放上下文

我的 api 中有一些缓慢的调用,因此为了不阻塞我的 UI,我按照本教程实现了一个后台工作服务。在我里面_backgroundWorkerQueue我有

_backgroundWorkerQueue.QueueBackgroundWorkItem(async token =>
{
    await client.ExecuteAsync(request, CancellationToken.None);
    await _projectRepository.Update(id, "Update", "unlock");
});
Run Code Online (Sandbox Code Playgroud)

第二行,await _projectRepository.Update向我抛出一个错误,表明上下文已被处理并且更新失败。我将服务设置为瞬态,并将上下文设置为瞬态,以便以这种方式进行测试,但我仍然遇到相同的错误。如果可能的话,在不使用 Hangfire 等其他库的情况下,如何避免和解决这个问题的任何想法和想法。

c# backgroundworker async-await .net-core

0
推荐指数
1
解决办法
1157
查看次数