标签: data-processing

存储过程或代码

我不是在征求意见,而是在征集文件.

我们有很多数据文件(XML,CSV,Plantext等),需要处理它们,数据挖掘它们.

领导数据库人员建议使用存储过程来完成任务.基本上我们有一个临时表,文件被序列化,并保存到clob或XML列中.然后从那里他建议进一步使用存储过程来处理文件.

我是一名具有数据库背景的应用程序开发人员,在应用程序开发方面更是如此,我可能会有偏见,但在数据库中使用此逻辑似乎是一个坏主意,我无法找到任何文档证明或不赞成我所指的把汽车放在火车轨道上以拉动一大堆货物.

所以我的问题是:当我们谈论正则表达式搜索,搜索和替换clob,dom遍历,递归中的数据时,DB(Oracle,DB2,MySQL,SqlServer)的表现如何?与Java,PHP或C#等编程语言相比,在同一问题上.

编辑

所以我正在寻找的是与DBMS相比特定编程语言的比较/运行时分析的文档,特别是对于字符串搜索和替换,正则表达式搜索和替换.XML Dom遍历.递归方法调用的内存使用情况.特别是当遇到10-100的GB数据时,它们的扩展程度如何.

database stored-procedures data-mining data-processing database-performance

6
推荐指数
1
解决办法
1162
查看次数

如何在使用Pandas从CSV读取整数时优雅地回退到"NaN"值?

在使用read_csvPandas时,如果我希望将给定列转换为类型,则格式错误的值将中断整个操作,而不会显示有问题的值.

例如,运行类似于:

import pandas as pd
import numpy as np


df = pd.read_csv('my.csv', dtype={ 'my_column': np.int64 })
Run Code Online (Sandbox Code Playgroud)

将导致以错误结束的堆栈跟踪:

ValueError: cannot safely convert passed user dtype of <i8 for object dtyped data in column ...
Run Code Online (Sandbox Code Playgroud)

如果我有错误消息中的行号或违规值,我可以将它添加到已知NaN值列表中,但这样我就无能为力了.

有没有办法告诉解析器忽略失败并np.nan在这种情况下返回?

Post Scriptum:有趣的是,在解析后没有任何类型的建议(没有dtype参数),d['my_column'].value_counts()似乎推断出dtype正确并np.nan自动正确放置,即使dtype系列的实际是一般的object,几乎每个绘图和统计操作都会失败

python csv data-processing pandas

6
推荐指数
1
解决办法
2753
查看次数

我可以在CNN中使用图层归一化吗?

我看到层规范化是比批量规范化更现代的规范化方法,并且在Tensorflow中编码非常简单。但是我认为层规范化是为RNN设计的,而批量规范化是为CNN设计的。我可以在处理图像分类任务的CNN中使用图层归一化吗?选择批标准化或层的标准是什么?

normalization data-processing deep-learning tensorflow batch-normalization

6
推荐指数
3
解决办法
3560
查看次数

C# 中的密集文件 I/O 和数据处理

我正在编写一个需要处理大型文本文件的应用程序(用逗号分隔的几种不同类型的记录 - 我没有权力或倾向更改数据存储格式)。它读入记录(通常是按顺序读取文件中的所有记录,但并非总是如此),然后将每个记录的数据传递给一些处理。

现在这部分应用程序是单线程的(读取记录,处理它,读取下一条记录等)我认为在一个线程中读取队列中的记录并在另一个线程中处理它们可能更有效线程在小块中或在它们可用时。

我不知道如何开始编写类似的程序,包括必要的数据结构或如何正确实现多线程。任何人都可以提供任何指示,或提供有关我如何提高性能的其他建议吗?

c# multithreading data-processing

5
推荐指数
1
解决办法
2338
查看次数

如何从c中的文件读取特定数据列

大家好

我是c编程的初学者。我遇到了这个问题,并花了很多时间在它上面,没有取得什么进展。

我的问题是这样说的:

我有一系列扩展名为(.msr)的文件,它们包含十多个参数的测量数值,这些参数的范围由日期,时间,温度,压力....用半冒号分隔。数据值的示例如下所示。

2010-03-03 15:55:06; 8.01; 24.9; 14.52; 0.09; 84; 12.47;
2010-03-03 15:55:10; 31.81; 24.9; 14.51; 0.08; 82; 12.40;
2010-03-03 15:55:14; 45.19; 24.9; 14.52; 0.08; 86; 12.32;
2010-03-03 15:55:17; 63.09; 24.9; 14.51; 0.07; 84; 12.24;
Run Code Online (Sandbox Code Playgroud)

每个文件都具有名称REG_2010-03-03,REG_2010-03-04,REG_2010-03-05 ...,它们都包含在一个文件中。

  1. 我想从每个文件中提取日期信息,在这种情况下为2010-03-03,第3列和第6列。

  2. 找到3和6的每列的统计平均值。

  3. 然后将结果存储在一个仅包含日期以及上面各列的计算平均值的新文件中,以进行进一步分析。

它们应使用c编写。

我真的在指望您或您对此的协助以继续进行下去。

问候

c data-processing

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

自动编码器的数据预处理技巧

最近,我尝试使用自动编码器来查找异常,但一些输入特征是计数数据(例如点击数或显示数)。训练前我需要标准化或缩放吗?

machine-learning data-processing autoencoder

5
推荐指数
1
解决办法
1826
查看次数

通过 sparkSQL 进行 Hive 分桶

我对蜂巢中的分桶有一个疑问。我创建了一个临时表,该表存储在列键上。

通过 spark SQL 我将数据插入到这个临时表中。我已在 spark 会话中启用 hive.enforce.bucketing 为 true。

当我检查这个表的基本目录时,它显示了以 part_* 为前缀的文件名。

但是,当我通过另一个表手动将数据插入该表时,我看到了前缀为 00000_* 的文件。

我不确定 spark sql 是否将数据写入桶中。

有人可以帮忙吗。

谢谢,

hive data-processing apache-spark apache-spark-sql

5
推荐指数
1
解决办法
3350
查看次数

当我使用生成器表达式插入数据并从网格上的常规网格> 2000次插入迭代器时,我收到一个MemError

这是我在stackoverflow的第一个问题,因为我开始使用Python3编写脚本.

应用

我制作了一个Python3脚本,用于在LS-Dyna中为有限元模拟编写可移动热源的负载定义.作为源,我具有离散化的3D发热率密度(W/cm ^ 3)场,定义有限元网格的坐标和热场中心随时间的位置.作为输出,我得到一个依赖于时间的加热功率,在每个有限元的元素编号之后排序.这已经用于合理的尺寸(200000个有限元,热场的3000个位置,热场中的400000个数据点).

问题

对于较大的有限元网格(4 000 000个元素),我的内存不足(60GB RAM,python3 64Bit).为了进一步说明这个问题,我准备了一个独立运行的最小例子.它生成一些人工测试数据,我使用它的有限元网格(实际上它不是常规网格)和热应用的新位置的迭代器.

import numpy as np
import math
from scipy.interpolate import RegularGridInterpolator
def main():
    dataCoordinateAxes,dataArray = makeTestData()
    meshInformationArray = makeSampleMesh()
    coordinates = makeSampleCoordinates()
    interpolateOnMesh(dataCoordinateAxes,dataArray,meshInformationArray,coordinates)

def makeTestData():
    x = np.linspace(-0.02,0.02,300)
    y = np.linspace(-0.02,0.02,300)
    z = np.linspace(-0.005,0.005,4)
    data = f(*np.meshgrid(x,y,z,indexing='ij',sparse=True))
    return (x,y,z),data

def f(x,y,z):
    scaling = 1E18
    sigmaXY = 0.01
    muXY = 0
    sigmaZ = 0.5
    muZ = 0.005
    return weight(x,1E-4,muXY,sigmaXY)*weight(y,1E-4,muXY,sigmaXY)*weight(z,0.1,muZ,sigmaZ)*scaling

def weight(x,dx,mu,sigma):
    result = np.multiply(np.divide(np.exp(np.divide(np.square(np.subtract(x,mu)),(-2*sigma**2))),math.sqrt(2*math.pi*sigma**2.)),dx)
    return result

def makeSampleMesh():
    meshInformation = [] …
Run Code Online (Sandbox Code Playgroud)

python iterator numpy data-processing python-3.x

5
推荐指数
1
解决办法
57
查看次数

Apache Beam 中的侧面输入与普通构造函数参数

我有一个关于 的背景下的侧面输入和广播的一般性问题Apache Beam。期间计算所需的任何其他变量、列表、映射是否processElement需要作为辅助输入传递?如果它们作为普通构造函数参数传递可以吗DoFn?例如,如果我有一些固定(未计算)值变量(常量,如开始日期、结束日期),我想在processElement. PCollectionView现在,我可以分别从每个变量中创建单例,并将它们DoFn作为侧面输入传递给构造函数。但是,我可以不这样做,而只是将每个常量作为普通构造函数参数传递给 吗DoFn?我在这里错过了一些微妙的东西吗?

就代码而言,我什么时候应该这样做:

public static class MyFilter extends DoFn<KV<String, Iterable<MyData>> {
  // these are singleton views
  private final PCollectionView<LocalDateTime> dateStartView;
  private final PCollectionView<LocalDateTime> dateEndView;

  public MyFilter(PCollectionView<LocalDateTime> dateStartView,
                       PCollectionView<LocalDateTime> dateEndView){

      this.dateStartView = dateStartView;
      this.dateEndView = dateEndView;
  }

  @ProcessElement
  public void processElement(ProcessContext c) throws Exception{
  // extract date values from the singleton views here and use them
Run Code Online (Sandbox Code Playgroud)

与以下相反:

public static class MyFilter extends DoFn<KV<String, Iterable<MyData>> { …
Run Code Online (Sandbox Code Playgroud)

dataflow broadcast data-processing google-cloud-dataflow apache-beam

5
推荐指数
1
解决办法
2538
查看次数

将向量中的值插值/拉伸到指定长度

我有不同长度的向量例如,

a1 = c(1,2,3,4,5,6,7,8,9,10) a2 = c(1,3,4,5) a3 = c(1,2,5,6,9)

我想将 a2 和 a3 拉伸到 a1 的长度,因此我可以对其运行一些要求向量长度相同的算法。我会将 a1 截断为与 a2 和 a3 相同,但最终会丢失有价值的数据。

即也许 a2 可能看起来像 1 1 1 3 3 3 4 4 5 5 ?

任何建议都会很棒!谢谢

编辑:我需要它适用于具有重复值的向量,例如 c(1,1,2,2,2,2,3,3) 和延伸值来表示原始向量中重复值的数量,例如,如果我将示例向量拉伸到 100 的长度,我会期望 2 的数量多于 1 的数量。

interpolation r data-manipulation data-processing data-cleaning

5
推荐指数
1
解决办法
438
查看次数