标签: large-data

如何在不指定列名的情况下从另一个表更新一个表?

我有两个表具有相同的结构和非常大的字段数(约1000).我需要执行2次操作1)从第二个表插入所有行到拳头.例:

INSERT INTO [1607348182]
SELECT * 
FROM _tmp_1607348182;
Run Code Online (Sandbox Code Playgroud)

2)从第二个表更新第一个表但是为了更新,我找不到适当的sql语法进行更新.

查询如下:

Update [1607348182]
set [1607348182].* = tmp.*
from [1607348182]
inner join _tmp_1607348182 as tmp on tmp.recordid = [1607348182].recordid
Run Code Online (Sandbox Code Playgroud)

要么

Update [1607348182]
from [1607348182]
inner join _tmp_1607348182 as tmp on tmp.recordid = [1607348182].recordid
Run Code Online (Sandbox Code Playgroud)

无效.

sql sql-server-2005 large-data sql-update

8
推荐指数
2
解决办法
4065
查看次数

可扩展,快速,文本文件支持的数据库引擎?

我正在处理存储在制表符分隔.tsv文件中的大量科学数据.要执行的典型操作是读取几个大文件,仅过滤掉某些列/行,与其他数据源连接,添加计算值并将结果写为另一个.tsv.

纯文本用于其稳健性,长寿性和自我记录性.以另一种格式存储数据不是一种选择,它必须保持开放并易于处理.有很多数据(数十TB),将副本加载到关系数据库是不可能的(我们必须购买两倍的存储空间).

由于我主要做选择和加入,我意识到我基本上需要一个基于.tsv的后备存储的数据库引擎.我不关心事务,因为我的数据都是一次写入多次读取.我需要就地处理数据,没有主要的转换步骤和数据克隆.

由于要以这种方式查询大量数据,我需要利用缓存和计算机网格有效地处理它.

有没有人知道一个系统可以提供类似数据库的功能,同时使用普通的制表符分隔文件作为后端?在我看来,这是一个非常普遍的问题,几乎所有的科学家都会以某种方式处理.

database csv plaintext scientific-computing large-data

7
推荐指数
1
解决办法
2621
查看次数

javascript可以排序,过滤和渲染一个非常大的表吗?

首先,我不知道Javascript的功能.但是想知道是否有可能:

  1. 从文本文件中读取并显示一个非常大的表(几十列和几十万行),分段;
  2. 并非所有列都会同时显示.列是组.一组列需要在隐藏或显示之间切换;
  3. 可以根据某些列过滤行.

这样做的原因是制作一个显示数据分析结果的报告,并为用户提供基本的过滤器,排序功能.他们最有可能拥有某种网络浏览器.所以HTML将是一种理想的格式.

用Javascript可以吗?

谢谢!

javascript sorting report filter large-data

7
推荐指数
2
解决办法
7610
查看次数

在R中的大型数据集上运行回归树

我正在处理大约150万次观测的数据集.我发现在我的数据的一小部分上运行一个回归树(我正在使用包中的mob()*函数party)花费的时间非常长(我不能运行超过50k的一个子集).

我可以想到两个主要问题是减慢计算速度

  1. 使用整个数据集在每个步骤计算拆分.我会对基于数据的随机子集选择变量在每个节点上拆分的结果感到满意,只要它继续补充树中每个子节点处的样本大小即可.
  2. 该操作未并行化.在我看来,只要树首次拆分,它就应该能够使用两个处理器,这样当我的机器中的每个处理器有16个分裂时,它们就会被使用.在实践中,似乎只有一个被使用.

有没有人对替代树实现提出建议,这些实现对大型数据集更有效,或者我可以改变以使计算更快的事情**?

*我正在使用mob(),因为我想在每个节点的底部进行线性回归,根据它们对治疗变量的响应来分割数据.

**似乎减慢计算量的一件事是我有一个16种类型的因子变量.计算要拆分的变量的哪个子集似乎比其他拆分需要更长的时间(因为有很多不同的方法可以对它们进行分组).这个变量是我们认为重要的变量,因此我不愿完全放弃它.是否有推荐的方法在将类型放入树模型之前将其分组为较少数量的值?

parallel-processing regression r large-data cart-analysis

7
推荐指数
1
解决办法
1363
查看次数

在R中的大矩阵中加入连续的四/ n数

我有非常大的数据集,其维度为60K x 4 K.我正在尝试在列的每一行中连续添加每四个值.以下是较小的示例数据集.

    set.seed(123)
    mat <- matrix (sample(0:1, 48, replace = TRUE), 4)

   [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12]
[1,]    0    1    1    1    0    1    1    0    1     1     0     0
[2,]    1    0    0    1    0    1    1    0    1     0     0     0
[3,]    0    1    1    0    0    1    1    1    0     0     0     0
[4,]    1    1    0    1    1    1    1    1    0     0     0     0 …
Run Code Online (Sandbox Code Playgroud)

loops r large-data

7
推荐指数
3
解决办法
291
查看次数

在关键服务器上(数十亿个文件名)对字符串进行内存约束的外部排序,并对重复项进行组合和计数

我们的服务器生成{c521c143-2a23-42ef-89d1-557915e2323a}-sign.xml日志文件夹中的文件.第一部分是GUID; 第二部分是名称模板.

我想计算具有相同名称模板的文件数.例如,我们有

{c521c143-2a23-42ef-89d1-557915e2323a}-sign.xml
{aa3718d1-98e2-4559-bab0-1c69f04eb7ec}-hero.xml
{0c7a50dc-972e-4062-a60c-062a51c7b32c}-sign.xml
Run Code Online (Sandbox Code Playgroud)

结果应该是

sign.xml,2
hero.xml,1
Run Code Online (Sandbox Code Playgroud)

可能的名称模板的总种类是未知的,可能超过int.MaxValue.

服务器上的文件总数未知,可能超过int.MaxValue.

要求:

最终结果应按名称模板排序.

该工具将运行的服务器是超级关键的.在运行工具之前,我们应该能够告诉内存使用情况(MB)和生成的临时文件数(如果有),并且不知道日志文件夹的任何特征.

我们使用C#语言.

我的想法:

  • 对于前5000个文件,计算出现次数,将结果写入Group1.txt.
  • 对于第二个5000个文件,计算出现次数,将结果写入Group2.txt.
  • 重复,直到处理完所有文件.现在我们有一堆组文件.

然后我合并所有这些组文件.

   Group1.txt     Group2.txt   Group3.txt     Group4.txt   
       \            /            \                /
       Group1-2.txt                Group3-4.txt
                  \                 /
                    Group1-4.txt
Run Code Online (Sandbox Code Playgroud)

Group1-4.txt 是最后的结果.

我和我朋友之间的分歧是我们如何计算事件的数量.

我建议使用字典.文件名模板是关键.设m为分区大小.(在这个例子中它是5000.)然后时间复杂度O(m),空间复杂度O(m).

我的朋友建议对名称模板进行排序,然后在一次传递中对事件进行计数,因为相同的名称模板现在都在一起.时间复杂度O(m log m),空间复杂度O(m).

我们无法说服对方.你们看到这两种方法有什么问题吗?

c# sorting algorithm dictionary large-data

7
推荐指数
2
解决办法
1854
查看次数

R中用于大型复杂调查数据集的方法?

我不是调查方法学家或人口统计学家,但我是 Thomas Lumley 的 R 调查包的狂热粉丝。我一直在处理一个相对较大的复杂调查数据集,即医疗保健成本和利用项目 (HCUP) 国家急诊部样本 ( NEDS )。正如医疗保健研究和质量机构所描述的那样,它是“来自 30 个州的 947 家医院的急诊就诊的出院数据,大约是美国医院急诊分层样本的 20%”

2006 年至 2012 年的完整数据集包含 198,102,435 个观测值。我已将数据细分为 40,073,358 次与外伤相关的出院,其中包含 66 个变量。对这些数据运行即使是简单的调查程序也需要非常长的时间。我曾尝试将 RAM 投入其中(2013 年末 Mac Pro,3.7GHz 四核,128GB(!)内存),在可用时使用多核子集,使用像MonetDB这样的内存不足的 DBMS。基于设计的调查程序仍然需要数小时。有时好几个小时。一些适度复杂的分析需要 15 个小时以上。我猜大部分计算工作都与必须是庞大的协方差矩阵有关?

正如人们所料,处理原始数据的速度要快几个数量级。更有趣的是,根据程序,对于如此大的数据集,未经调整的估计值可能与调查结果非常接近。(见下面的例子)基于设计的结果显然更精确和更受欢迎,但几个小时的计算时间与几秒钟相比,对于增加的精度来说是一个不可忽视的成本。它开始看起来像是绕着街区走很长一段路。

有没有人有这方面的经验?有没有办法优化大型数据集的 R 调查程序?也许更好地利用并行处理?使用INLA 的贝叶斯方法或像 Stan 这样的哈密​​顿方法是一种可能的解决方案吗?或者,当调查规模大且具有足够的代表性时,一些未经调整的估计值,尤其是相对测量值,是否可以接受?

以下是几个近似调查结果的未经调整的估计示例。

在第一个示例中,内存中的 svymean 用了不到一个小时,内存不足需要 3 多个小时。直接计算耗时不到一秒。更重要的是,点估计值(svymean 为 34.75,未调整为 34.77)以及标准误差(0.0039 和 0.0037)非常接近。

    # 1a. svymean in memory 

    svydes<- svydesign(
        id = ~KEY_ED ,
        strata = ~interaction(NEDS_STRATUM , …
Run Code Online (Sandbox Code Playgroud)

r survey large-data

7
推荐指数
1
解决办法
1465
查看次数

DynamoDB 大于 400KB 的项目

我打算创建一个商家表,其中包含商家的商店位置。大多数商家都是小企业,他们只有几家商店。然而,奇怪的多链/特许经营可能有数百个地点。

如果我想在商家表中包含位置属性,我的解决方案是什么?如果我必须将其拆分为多个表,我该如何实现?

谢谢!

编辑:如何拆分表格。为了满足大多数人的需求,我最多可以将它们放在同一张桌子上的 5 个位置。但是超过 5 个,它将溢出到一个规范化的表,主表上有一个指示符,表示有 5 个以上的位置。关于如何实现这一目标的任何想法?

large-data amazon-dynamodb

7
推荐指数
1
解决办法
5255
查看次数

NodeJS socket.IO 发送大 Json 时断开连接

我正在编写一个带有 Nodejs 后端和有角度前端的多层纸牌游戏(如炉石传说)。

我尝试使用 Socket.IO 连接两者,但事实证明,如果我发送一个超过 8000 个字符的 JSON 对象(gameState 对象),那么客户端只会不断断开连接并重新连接。

如果我只发送对象的 6000 个字符的子字符串,一切都很好,但它会崩溃超过 8000 个(我需要大约 20 000 个)

我只在本地主机中尝试过

这是后端:

    constructor() {
    this.app = express();
    this.port = process.env.PORT || ChatServer.PORT;
    this.server = createServer(this.app);
    this.io = socketIo(this.server);
    this.gameService = new GameService();
    this.listen();
}

listen(): void {
    this.server.listen(this.port, () => {
        console.log('Running server on port %s', this.port);
    });

    this.io.on('connect', (socket: any) => {
        console.log('Connected client on port %s.', this.port);
        socket.on('message', (m: string) => {
            console.log('[server](message): %s', JSON.stringify(m));
            this.io.emit('message', JSON.stringify(this.gameService.getGameState()).substring(1, 6000));
        }); …
Run Code Online (Sandbox Code Playgroud)

large-data node.js socket.io typescript

7
推荐指数
1
解决办法
2292
查看次数

FirebaseError:[code=resource-exhausted]:资源已耗尽(例如检查配额)

我有一个大小为 10000 的数组。所有这些都是文档 ID。我正在运行一个数组,需要从 Firestore 获取文档数据,并且需要在每个文档中添加新字段。但我面临以下错误

@firebase/firestore: Firestore (5.3.1): FirebaseError: [code=resource-exhausted]: Resource has been exhausted (e.g. check quota).

@firebase/firestore: Firestore (5.3.1): Using maximum backoff delay to prevent overloading the backend.

Error getting document: FirebaseError: Failed to get document because the client is offline.
    at new t (https://www.gstatic.com/firebasejs/5.3.1/firebase-firestore.js:1:61679)
    at Object.next (https://www.gstatic.com/firebasejs/5.3.1/firebase-firestore.js:1:308843)
    at next (https://www.gstatic.com/firebasejs/5.3.1/firebase-firestore.js:1:308006)
    at https://www.gstatic.com/firebasejs/5.3.1/firebase-firestore.js:1:277502
Run Code Online (Sandbox Code Playgroud)

请帮我解决这个问题。

arrays large-data firebase google-cloud-firestore

7
推荐指数
0
解决办法
6395
查看次数