问题标签 [orc]

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 投票
2 回答
2828 浏览

scala - HiveContext 没有读取 Orcfile 的架构

当我运行以下命令时:

列打印为“_col0”、“_col1”、“_col2”等。与它们的真实名称相反,例如“empno”、“name”、“deptno”。

当我在 Hive 中“描述 mytable”时,它会正确打印列名,但是当我运行“orcfiledump”时,它也会显示 _col0、_col1、_col2。我是否必须指定“读取模式”或其他内容?如果是,我该如何在 Spark/Scala 中做到这一点?

注意:我创建的表如下:

注意:这不是这个问题的副本(Hadoop ORC 文件 - 如何工作 - 如何获取元数据),因为答案告诉我使用“Hive”并且我已经在使用 HiveContext,如下所示:

顺便说一句,我使用的是我自己的 hive-site.xml,其中包含以下内容:

0 投票
3 回答
5681 浏览

hadoop - 附加到 ORC 文件

我是大数据和相关技术的新手,所以我不确定我们是否可以将数据附加到现有的 ORC 文件中。我正在使用Java API编写 ORC 文件,当我关闭 Writer 时,我无法再次打开该文件以向其写入新内容,基本上是附加新数据。

有没有办法可以使用 Java Api 或 Hive 或任何其他方式将数据附加到现有的 ORC 文件?

再澄清一点,将 Javautil.Date对象保存到 ORC 文件时,ORC 类型存储为:

对于java BigDecimal,它是:

这些是否正确,是否有任何相关信息?

0 投票
2 回答
5600 浏览

hive - 分区和桶 ORC 表

我知道当您创建 ORC 表时,它会显着提高速度。但是,我们可以通过对 ORC 表进行分区和分桶来进一步改进它吗?如果是这样,如何在现有的 ORC 表中进行分区和分桶?

0 投票
1 回答
1294 浏览

hadoop - 如何在 Hive 中将 TEXT 格式的分区表复制为 ORC 格式的表

我有一个文本格式配置单元表,例如: CREATE EXTERNAL TABLE op_log ( time string, debug string,app_id string,app_version string, ...more fields) PARTITIONED BY (dt string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' STORED AS TEXTFILE;

现在我创建一个具有相同字段的兽人格式表,例如 CREATE TABLE op_log_orc ( time string, debug string,app_id string,app_version string, ...more fields) PARTITIONED BY (dt string) STORED AS ORC tblproperties ("orc.compress" = "SNAPPY");

op_log当我从to复制时op_log_orc,出现以下错误:

hive> insert into op_log_orc PARTITION(dt='2016-08-09') select * from op_log where dt='2016-08-09'; FAILED: SemanticException [Error 10044]: Line 1:12 Cannot insert into target table because column number/types are different ''2016-08-09'': Table insclause-0 has 62 columns, but query has 63 columns. hive>

0 投票
0 回答
7485 浏览

hive - Hive ORC 表的 serialization.null.format

我有一个 Hive 表,其中数据存储为 ORC。现在,当我在该表上运行 select * 查询时,我看到空字符串列在查询结果中显示为 NULL。我希望空字符串列在配置单元查询结果中也显示为空字符串。

我尝试了这两种方法,但它仍然显示 NULL:

还尝试给出单引号:

hive表的存储属性:

有没有办法解决?

0 投票
1 回答
1455 浏览

apache-spark - 如何在 pyspark 2.0 中读取没有 Metastore 的 ORC 文件

我想使用没有 Metastore 的 pyspark 2.0 读取一些 ORC 文件。理论上,这样做是可行的,因为数据模式嵌入在 ORC 文件中。但这是我得到的:

读取 ORC 文件的正确方法是什么?

0 投票
1 回答
946 浏览

azure - 从 Azure SQL 数据仓库查询 Hadoop ORC 表

我在从 Azure SQL 数据仓库读取在 Azure HDInsight 中创建的 ORC 表时遇到问题。请参阅下面我遵循的顺序来设置 HDInsight 实例以及 Azure SQL 数据仓库。

  1. 我创建了一个文本文件(Sales.txt),内容如下

20150614 | 1 | 10.50
20150618 | 1 | 100.75 20150924
| 1 | 89.75
20160214 | 2 | 10456.90 20150922
| 3 | 34.70
20151021 | 3 |
3
| 43.70 20150608|5|398.90 20150929|5|981.80 20151225|5|482.80 20151231|5|289.60 20160214|5|688.50 20160531|5|682.80







  1. 然后我在 Azure 中创建了一个 HDInsight 集群

  2. 我创建了一个数据库hadoopdb

  3. 我使用以下查询在该数据库中创建了一个外部表

    /li>
  4. 使用以下查询加载数据

    LOAD DATA INPATH '/Sales.txt' INTO TABLE hadoopdb.salestxt;

  5. 然后使用以下脚本创建了一个内部 ORC 表

    /li>
  6. 使用以下查询将数据移动到 ORC 表

    插入覆盖表 hadoopdb.salesorc SELECT * FROM hadoopdb.salestxt

  7. 执行以下查询,我确实在 Hive Editor 中看到了结果

    select * from hadoopdb.sales

  8. 回到 Azure SQL 数据仓库,使用 SSMS 中的以下查询创建数据源,

    );

  9. 使用以下创建外部文件格式

    /li>
  10. 创建的架构[hdp]

  11. 尝试使用以下脚本创建外部表

    /li>

但是,此查询失败并出现以下错误

消息 105002,级别 16,状态 1,行 1 EXTERNAL TABLE 访问失败,因为指定的路径名​​“/Sales.txt/”不存在。请输入有效路径,然后重试。

我尝试了 LOCATION 的各种组合,例如“myclustercontainer@mystorageaccount.blob.core.windows.net/Sales.txt/Sales.txt”

Sales.txt 文件存在于“myclustercontainer@mystorageaccount.blob.core.windows.net/Sales.txt/Sales.txt”位置的存储帐户中。

我错过了什么吗?

0 投票
1 回答
386 浏览

c# - C# OCR MODI 示例返回错误

http://www.codeproject.com/Articles/41709/How-To-Use-Office-2007-OCR-Using-C

我为 OCR 找到了这个示例,在 C:/ORC 文件夹中粘贴了一些图像,在白色背景上带有黑色英文文本,但在这一行我仍然遇到异常

MODI.Document md = new MODI.Document();

说: System.Runtime.InteropServices.COMException (0x80040154): 检索具有 CLSID {40942A6C-1520-4132-BDF8-BDC1F71F547B} 的组件的 COM 类工厂失败,原因是以下错误:80040154。在 OCRSample.Form1.CheckFileType(String目录路径)在 c:\Users\Dmetrey\Desktop\OCRSample\OCRSample\Form1.cs:line 50

有人可以澄清导致此异常的原因吗?我正在使用VS2013。

0 投票
1 回答
1168 浏览

hive - 从 orc 文件创建配置单元表而不指定架构

我有一份在 hadoop 集群之间传输配置单元表的工作。我所做的是从源 hadoop 集群下载 orc 文件,然后使用以下命令将 orc 文件上传到目标 hdfs 集群。

在spark应用程序中可以通过以下方式读取目标hadoop clustr中的orc文件:

但是,目标 hadoop 集群中的 hive 内没有对应的表。

有没有一种方法可以在不指定 ddl 或模式的情况下从 hdfs 中的 orc 文件在 hive 中创建表?由于 orc 文件本身包含架构信息。

我问这个问题的原因是因为原始配置单元表的架构非常嵌套并且有很多字段。

目前我能想到的唯一解决方案是在 spark 中读取这些 orc 文件,并使用 saveAsTable 选项将它们写出来,如下所示:

0 投票
2 回答
1118 浏览

python - Spark 无法读取 Orc 表(返回空表)

我必须做一些特别的事情才能用 Spark 读取 Orc 表吗?

我在 txt 和 orc 中有两个表格副本。读取 txt 表时一切正常。读取兽人表时,我没有收到任何错误,但 spark 返回一个空表。

这是我在python中的代码:

更新:

如果我指定存储在 sample_07 中的数据的路径并将其注册为临时表,它可以工作: