【问题标题】:Can I pull data directly from hive table to H2O?我可以直接从蜂巢表中提取数据到 H2O 吗?
【发布时间】:2018-08-01 14:25:55
【问题描述】:

我们将数据存储在 hive 文本文件和 parquet 文件中,是否可以直接从这些文件加载​​到 H2O 中,还是必须通过 csv 或 pandas 数据帧等中间步骤?

【问题讨论】:

    标签: hadoop hive h2o


    【解决方案1】:

    是的,你可以找到你需要的所有信息here

    H2O 目前支持以下文件类型:

    • CSV(分隔)文件(包括 GZipped CSV)
    • 兽人
    • SVMLight
    • ARFF
    • XLS
    • XLSX
    • Avro 版本 1.8.0(没有多文件解析或列类型修改)
    • 镶木地板

    注意事项:

    • 仅当 H2O 作为 Hadoop 作业运行时,ORC 才可用。

    • 用户还可以导入以 ORC 格式保存的 Hive 文件。

    • 将并行数据导入集群时:

      • 如果数据是解压缩的 csv 文件,H2O 可以进行偏移读取,因此集群中的每个节点都可以直接并行读取 csv 文件的一部分。
      • 如果数据被压缩,H2O 必须在并行读取之前读取整个文件并解压缩。 因此,如果您从 HDFS 读取的数据文件非常大,最好使用解压缩的 csv。但如果数据距离局域网较远,那么最好使用 zipped csv。

    【讨论】:

    • 感谢 Lauren,我以前见过这个,但我还没有看到如何从 Parquet、ORC 或存储在 HDFS 中的 TextFile 中提取的任何示例。我们目前要么加载到 Pandas DataFrame 中,要么创建一个带有逗号分隔符的临时表,但是这些会在我想删除的工作中产生额外的开销。
    • 您是否尝试过传入 parquet 文件或文本文件的路径?例如,您可以在 python 中使用 h2o.import_file(hdfs://path/to/myfile.parquet) 或在 R 中使用 h2o.importFile(hdfs://path/to/myfile.csv)。
    • Lauren 我已经尝试了你给我的 Python 示例,但我不断收到偏移错误 ~/.conda/envs/myJupyterKernel35/lib/python3.5/site-packages/h2o/h2o.py: 522: UserWarning: ParseError at file (file path) at byte offset 61608; error = 'Unmatched quote char "' warnings.warn(w) 我用 5 行 x 3 列的数据的一个非常小的子集重新创建了表,但仍然得到这个错误,不确定它在哪里找到这个 61608,因为新表没有在那么大的地方,
    • 您是否可以发布数据示例,以便我可以查看是否可以重现错误。如果您的文本列中包含回车符或换行符,则可能会发生此类解析错误。
    猜你喜欢
    • 2022-12-12
    • 1970-01-01
    • 1970-01-01
    • 2020-12-18
    • 2015-05-15
    • 1970-01-01
    • 2016-02-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多