问题标签 [data-ingestion]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
444 浏览

postgresql - 来自平面文件的 GPFdist 插入会在插入时引发错误“用于编码“UTF8”的字节序列无效:0x00”

我在写入以从大型平面文件中提取数据的过程中遇到问题。我正在使用具有 UTF8 规范的 python 包装器预处理平面文件,如下所示: wrFile = io.open("outFile","w+",encoding='utf8')

我正在使用以下命令逐行读取源文件: lineACT = linecache.getline("inFile", i+j) lineNxt = linecache.getline("inFile", i+j+1)

此外,在预处理行之后,我正在编写文件,如下所示: wrFile.write(lineACT) 因此,遍历 infile 中的行数,我正在创建 outfile。

postgresql现在,可以使用以下查询将文件提取到外部表中。加载器应用程序已写入Java,所有配置都使用属性文件传递:

UNIX在盒子上运行它会给我一个例外:

注意: outFile 中的每一行是 1655 个字符。outTabledeltaTable的列结构也是1655。当我检查 errorTable 时,我在errmsg列中找到了这个:

现在,我猜测数据库不接受文件中的null字符'0x00',因为我检查的 db 的编码属性是'UTF8'

我尝试使用以下 bash 命令从文件中删除空字符:

&

但到目前为止没有任何效果。有人可以就如何使这项工作提出一些建议吗?

--

提前致谢!

0 投票
1 回答
641 浏览

elasticsearch - 如何为摄取附件弹性搜索插件禁用 base64 存储?

文档显示了有关如何通过摄取附件插件将 base64 文档存储到弹性搜索中的示例。但在此之后,我得到了弹性搜索索引包含解析的文本和 base64 字段源。为什么需要它?有没有办法删除base64文本字段并在文档被索引后只保留文本而不是内容?

0 投票
3 回答
188 浏览

google-analytics - 使用 GET 方法将数据流式传输到 Google BigQuery?

我需要一个好的解决方案,最好是现有的解决方案,例如 Google Rest API,以便将数据流式传输/插入 BigQuery。由于许多设计原因,我不想使用 POST 方法发送数据。我预计每秒有 1000 次写入。数据将附加在 url 的查询参数中。它与谷歌分析非常相似,使用 Get 方法发送分析数据。

0 投票
0 回答
128 浏览

mysql - 如何使用 sqoop 将加密的列数据从 mysql 导入 hdfs?

Imgine 我有一个包含在 mysql 上加密的学生 ID 的表,如何使用 sqoop 将该数据导入 hdfs?

0 投票
1 回答
120 浏览

java - 如何将数据从 Java 应用程序提取到 BigQuery

我想从我的 java 应用程序中将数据提取到 BigQuery。如果我们直接使用 BigQuery API,是否存在任何性能问题?应用程序正在 AWS 中运行。

0 投票
1 回答
1978 浏览

mysql - Nifi - 截断并加载到 mysql 数据库表

我正在从 SFTP 站点读取 CSV 文件并使用 Nifi 将其加载到 mysql db。

我有以下工作流程,似乎工作正常。在开始加载数据之前,我只需要一些帮助来弄清楚如何截断表。

尼菲流:

ListSFTP -> FetchSFTP -> InferAvroSchema -> ConvertCSVtoAvro -> ConvertAvrotoJSON -> SplitJSON -> ConvertJSONtoSQL -> PutSQL

这个流程似乎工作正常,但是每次我运行它时,我都需要先截断表,然后再开始加载。

有人可以帮我提供一些关于我如何实现这一目标的信息。或者有没有比我写的更好的流程,请指教。

谢谢,阿迪尔

0 投票
0 回答
1348 浏览

postgresql - 是什么减慢了我的 PostgreSQL 批量导入速度?

因为在 Debian stable 上安装非常容易,所以我决定使用 PostgreSQL 9.6 为我需要处理的一些数据构建一个数据仓库。第一步是以最少的转换将数据加载到数据库中,主要是纠正一些已知的格式错误以及布尔值的表示方式。我已经检查过这些更正是否有效:将n行写入磁盘所花费的时间与n.

但是,使用 PostgreSQL 批量加载这些数据COPY FROM(无论如何;\copy、或 psycopg2copy_expertCOPY FROM '/path/to/data.csv')需要超线性的时间量。渐近时间复杂度似乎比O(exp(sqrt(n))). 这就是我已经:

  • 将隔离级别设置为READ UNCOMMITTED, 和
  • 将主键约束设置为DEFERRED.

这是我看到的最严重的违规者之一,一个 17M 行的表:

当 fsync 打开时,行数的平方根与摄取时间的对数成比例

禁用fsync会使进程加快 10 倍,因此 I/O 显然是一个巨大的瓶颈。然而,除此之外,时间行为并没有太大变化:

当 fsync 关闭时,行数的平方根也与摄取时间的对数成正比

当我使用代理键而不是业务键时,这个问题完全消失了:当我使用自动递增的整数列作为主键时,摄取又需要时间,这正是我想要的。因此,我不仅对我的问题有一个完全有效的解决方法,而且我还知道复杂的主键是罪魁祸首(业务键通常是一个短 VARCHAR 列的元组)。Θ(n)

但是,我想了解当 PostgreSQL 以业务键为键时,为什么要花这么长时间来摄取数据,以便我更好地了解我的工具。特别是,我不知道如何调试这个摄取过程,因为EXPLAINCOPY. 可能是复合主键将数据排序到存储中需要更长的时间,或者这是由于索引,或者主键约束实际上仍然是NOT DEFERRED;如果解决方法不是那么有效,或者由于其他原因不受欢迎,我如何才能发现这里实际发生了什么?

0 投票
1 回答
871 浏览

apache-nifi - Nifi-合并内容处理器-合并策略

合并内容处理器中的 Bin Packing 算法和碎片整理合并策略有什么区别 nifi 关于性能的任何比较

0 投票
0 回答
171 浏览

bigdata - apache gobblin 和 spring-cloud-dataflow 有什么区别,如何选择?

作为官方文档

Apache Gobblin 是一个通用数据摄取框架,用于从各种数据源(例如数据库、rest API、FTP/SFTP 服务器、文件管理器等)中提取、转换和加载大量数据到 Hadoop。

Spring Cloud Data Flow 是一个用于构建数据集成和实时数据处理管道的工具包。管道由 Spring Boot 应用程序组成,使用 Spring Cloud Stream 或 Spring Cloud Task 微服务框架构建。

  1. 他们之间有什么区别?
  2. 彼此的进步是什么?
  3. 在相应的场景中如何选择它们?

非常感谢任何回复

0 投票
2 回答
7802 浏览

python - Python 多处理循环

我希望用来multiprocessing加速一个缓慢的循环。但是,从我所看到的多处理示例来看,我不确定这种实现是否是好的实践、可行或可能。

循环大致有两个部分:data ingestiondata processing. 我希望在处理进行时开始数据摄取的下一部分,以便数据尽快可用。

伪代码:

  1. 多处理是否适合这种功能?
  2. 如何做到这一点?

提前致谢。