问题标签 [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 回答
134 浏览

nosql - 将多字符“~|^”分隔文件的 MLCP 摄取到 Marklogic 中

我有一个带有分隔符的分隔文本文件~|^。我需要使用 MLCP 将此文件摄取到 marklogic 中。为此,我尝试使用 2 种方式摄取 MLCP。

  1. 使用没有选项文件的 MLCP

    mlcp.sh import -username admin -password admin -input_file_type delimited_text -delimiter "~|^" -document_type json -host localhost -database test -port 8052 -output_uri_prefix /test/data/ -generate_uri -output_uri_suffix .json \-output_collections "Test" -input_file_path inputfile1.csv

  2. 将 MLCP 与选项文件一起使用

    mlcp.sh import -username admin -password admin -options_file delim.opt -document_type json -host localhost -database test -port 8052 -output_uri_prefix /test/data/ -generate_uri -output_uri_suffix .json \-output_collections "Test" -input_file_path inputfile1.csv

我的选项文件如下所示(delim.opt):

但在这两种方式中,mlcp 都不起作用,我收到以下错误:

java.lang.IllegalArgumentException:无效的分隔符:~|^

谁能帮助我如何通过 MLCP 将这些类型的 CSV 文件摄取到 MarkLogic 中?

0 投票
2 回答
1932 浏览

performance - Apache Kudu 插入速度慢,排队时间长

我一直使用 Spark Data Source 从 Parquet 写入 Kudu,写入性能很糟糕:大约 12000 行 / 秒。每行大约 160 个字节。

我们有 7 个 kudu 节点,24 个核心 + 每个 64 GB RAM + 每个 12 个 SATA 磁盘。资源似乎都不是瓶颈:tserver cpu 使用 ~3-4 核,RAM 10G,没有磁盘拥塞。

我仍然看到大部分时间写入请求都停留在排队中。任何想法表示赞赏。

0 投票
1 回答
292 浏览

apache-spark - TensorflowOnSaprk 应用程序卡在 fit_generator() 后跟 predict_generator()

我有一个简单的 pyspark 应用程序可以在 TensorFlowOnSpark 上运行。

我使用TFCluster.InputMode.SPARK模式将 RDD 提供给模型。fit_generator() 方法工作正常,但推理阶段没有任何进展并卡住了。为了可生产性,我使用糖尿病数据集(https://www.kaggle.com/uciml/pima-indians-diabetes-database)。我将数据集分成两部分,trainFolder一部分放在testFolder. 生成器方法generate_rdd_data()将批量数据提供给模型进行训练,generate_rdd_test()并为推理做同样的事情,只是它不产生标签。

这是代码:

我用一个执行器将作业提交到我机器上的独立集群。这是提交脚本:

在这个示例中,为了继续进行预测,遗漏了什么或者可能是错误的?

这是执行器的日志尾部:

请注意,该generate_rdd_test()方法被调用,但之后没有任何反应。任何帮助表示赞赏。

0 投票
0 回答
222 浏览

hadoop - 数据摄取到 Hadoop/Hive:Spring 批处理 vs Sqoop

我正在尝试将数据从外部关系数据库摄取到 Hive/HDFS,然后进行数据处理和转换。有没有办法将 Sqoop 与 Spring 批处理集成以进行数据摄取?

0 投票
1 回答
14 浏览

hadoop - Hadoop 与文档捕获软件的集成

我们需要从我们的图像捕获软件将文档发送到 Hadoop (Hortonworks):图像捕获软件发布带有元数据的 PDF 文档。我对HDP没有太多了解。是否有任何 REST 服务或任何工具可以通过向 Documents 提供元数据来将文档添加到 Hadoop。

请帮忙

0 投票
0 回答
135 浏览

validation - 验证摄取数据的最佳方法

我每天从各种外部来源(如 GA、scrapers、Google BQ 等)摄取数据。我将创建的 CSV 文件存储到 HDFS 中,从中创建阶段表,然后将其附加到 Hadoop 中的历史表中。您能否分享一些如何使用历史数据验证新数据的最佳实践?例如,将实际数据的行数与过去 10 天的平均值或类似的数据进行比较。火花或其他东西有什么准备好的解决方案吗?

感谢您的建议。

0 投票
1 回答
872 浏览

avro - 如何为具有 30MB+ 数据的大型平面文件生成单个 .avro 文件

目前正在为 10 kb 文件生成两个 avro 文件,如果我对实际文件 (30MB+) 遵循相同的操作,我将生成 n 个文件。

所以即使源文件很大,也需要一个只生成一两个 .avro 文件的解决方案。

还有什么方法可以避免手动声明列名。

目前的做法...

spark-shell --packages com.databricks:spark-csv_2.10:1.5.0,com.databricks:spark-avro_2.10:2.0.1

导入 org.apache.spark.sql.types.{StructType, StructField, StringType}

// 'co' 和 'id' 列名和类型的手动模式声明 val customSchema = StructType(Array( StructField("ind", StringType, true), StructField("co", StringType, true)))

val df = sqlContext.read.format("com.databricks.spark.csv").option("comment", "\"").option("quote", "|").schema(customSchema).load( “/tmp/file.txt”)

df.write.format("com.databricks.spark.avro").save("/tmp/avroout")

// 注意:/tmp/file.txt 是输入文件/目录,/tmp/avroout 是输出目录

0 投票
1 回答
29 浏览

csv - 如何在摄取期间在 marklogic 中添加一列?

我有一个通过 mlcp 加载的 CSV。如何在摄取期间添加具有我选择的一个字符串值的列?使用什么变换函数以及如何使用?


编辑: 我将使用 JS 来编写转换。基本工作流程是:

  1. 使用查询控制台/curl 将 JS 转换写入并加载到模块 db 中。

  2. 使用 mlcp 调用转换函数,同时从 CSV 加载数据,然后将其转换为 JSON 文档到内容数据库中。

0 投票
1 回答
1143 浏览

apache-kafka - Druid 将 0 或 0.0 存储为空值

来自 HDP-2.6.5.0 的 druid .10.1 版本我们正在使用 druid-kafka 索引器服务摄取将数据从 kafka 主题加载到 druid 中,在此期间我们发现 druid 正在存储具有 0 或 0.0 的指标值被存储为 null 并且通过超集或 Druid api 检索时获得响应为 null。如果我们在这里遗漏任何东西,需要建议。

来自超集的错误:

{"status": "failed", "error_type": "warning", "error": "unsupported operand type(s) for +: 'int' and 'NoneType'"}

摄取规范文件如下:

使用德鲁伊的休息 api: http://host:port/druid/v2?pretty

身体:

德鲁伊的回应:

卡夫卡中的数据:

0 投票
3 回答
668 浏览

scala - 在火花中加载到数据框时如何修剪字段?

我们最近收到了一个要提取的文件,这个文件是PSV格式的,但是所有的字段左右都加了额外的字符$~$,所以整个PSV如下:

$~$Field1$~$|$~$Field2$~$|$~$Field3$~$

$~$Data1$~$|$~$Data2$~$|$~$Data3$~$

$~$Data4$~$|$~$Data5$~$|$~$Data6$~$

$~$Data7$~$|$~$Data8$~$|$~$Data9$~$

$~$Data10$~$|$~$Data11$~$|$~$Data12$~$ .....

文件中有 1 亿行。

修剪这些填充物以使其成为标准 PSV 的最佳方法是什么?

非常感谢您,任何建议/分享在这里表示赞赏。

更新:

数据从 SFTP 接收,并由 IT 数据支持(Unix 管理员)上传到 Hadoop,我们只能访问 Hadoop 集群,但如果数据支持很容易,也许我可以说服他们做预处理。谢谢。