问题标签 [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.
nosql - 将多字符“~|^”分隔文件的 MLCP 摄取到 Marklogic 中
我有一个带有分隔符的分隔文本文件~|^
。我需要使用 MLCP 将此文件摄取到 marklogic 中。为此,我尝试使用 2 种方式摄取 MLCP。
使用没有选项文件的 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
将 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 中?
performance - Apache Kudu 插入速度慢,排队时间长
我一直使用 Spark Data Source 从 Parquet 写入 Kudu,写入性能很糟糕:大约 12000 行 / 秒。每行大约 160 个字节。
我们有 7 个 kudu 节点,24 个核心 + 每个 64 GB RAM + 每个 12 个 SATA 磁盘。资源似乎都不是瓶颈:tserver cpu 使用 ~3-4 核,RAM 10G,没有磁盘拥塞。
我仍然看到大部分时间写入请求都停留在排队中。任何想法表示赞赏。
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()
方法被调用,但之后没有任何反应。任何帮助表示赞赏。
hadoop - 数据摄取到 Hadoop/Hive:Spring 批处理 vs Sqoop
我正在尝试将数据从外部关系数据库摄取到 Hive/HDFS,然后进行数据处理和转换。有没有办法将 Sqoop 与 Spring 批处理集成以进行数据摄取?
hadoop - Hadoop 与文档捕获软件的集成
我们需要从我们的图像捕获软件将文档发送到 Hadoop (Hortonworks):图像捕获软件发布带有元数据的 PDF 文档。我对HDP没有太多了解。是否有任何 REST 服务或任何工具可以通过向 Documents 提供元数据来将文档添加到 Hadoop。
请帮忙
validation - 验证摄取数据的最佳方法
我每天从各种外部来源(如 GA、scrapers、Google BQ 等)摄取数据。我将创建的 CSV 文件存储到 HDFS 中,从中创建阶段表,然后将其附加到 Hadoop 中的历史表中。您能否分享一些如何使用历史数据验证新数据的最佳实践?例如,将实际数据的行数与过去 10 天的平均值或类似的数据进行比较。火花或其他东西有什么准备好的解决方案吗?
感谢您的建议。
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 是输出目录
csv - 如何在摄取期间在 marklogic 中添加一列?
我有一个通过 mlcp 加载的 CSV。如何在摄取期间添加具有我选择的一个字符串值的列?使用什么变换函数以及如何使用?
编辑: 我将使用 JS 来编写转换。基本工作流程是:
使用查询控制台/curl 将 JS 转换写入并加载到模块 db 中。
使用 mlcp 调用转换函数,同时从 CSV 加载数据,然后将其转换为 JSON 文档到内容数据库中。
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
身体:
德鲁伊的回应:
卡夫卡中的数据:
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 集群,但如果数据支持很容易,也许我可以说服他们做预处理。谢谢。