- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
println(m)) 这些列-6ren">
当我运行以下命令时:
val df1 = sqlContext.read.format("orc").load(myPath)
df1.columns.map(m => println(m))
这些列打印为“_col0”、“_col1”、“_col2”等,而不是它们的真实名称,例如“empno”、“name”、“deptno”。
当我在 Hive 中“描述我的表”时,它会正确打印列名,但当我运行“orcfiledump”时,它也会显示 _col0、_col1、_col2。我是否必须指定“读取模式”或其他内容?如果是,我该如何在 Spark/Scala 中执行此操作?
hive --orcfiledump /apps/hive/warehouse/mydb.db/mytable1
.....
fieldNames: "_col0"
fieldNames: "_col1"
fieldNames: "_col2"
注意:我创建的表如下:
create table mydb.mytable1 (empno int, name VARCHAR(20), deptno int) stored as orc;
注意:这不是这个问题 (Hadoop ORC file - How it works - How to fetch metadata) 的重复,因为答案告诉我使用“Hive”并且我已经在使用 HiveContext,如下所示:
val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc)
顺便说一下,我使用的是我自己的 hive-site.xml,其中包含以下内容:
<configuration>
<property>
<name>hive.metastore.uris</name>
<value>thrift://sandbox.hortonworks.com:9083</value>
</property>
</configuration>
最佳答案
我想出了问题所在。这就是我创建测试数据的方式。我的印象是,如果我运行以下命令:
create table mydb.mytable1 (empno int, name VARCHAR(20), deptno int) stored as orc;
INSERT INTO mydb.mytable1(empno, name, deptno) VALUES (1, 'EMP1', 100);
INSERT INTO mydb.mytable1(empno, name, deptno) VALUES (2, 'EMP2', 50);
INSERT INTO mydb.mytable1(empno, name, deptno) VALUES (3, 'EMP3', 200);
数据将以 ORC 格式创建在:/apps/hive/warehouse/mydb.db/mytable1
事实并非如此。即使我指示“存储为 orc”,INSERT 语句也没有保存列信息。不确定这是否是预期的行为。无论如何,现在一切正常。对造成的困惑表示歉意,但希望这对将来的人有所帮助 -:)
关于scala - HiveContext 未读取 Orcfile 的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38726653/
我需要创建 ORCFile 格式的输出。根据此页面 (http://hortonworks.com/blog/orcfile-in-hdp-2-better-compression-better-pe
当我运行以下命令时: val df1 = sqlContext.read.format("orc").load(myPath) df1.columns.map(m => println(m)) 这些列
我需要实现一个基于 ORCFile I/O 格式的自定义 I/O 格式。我该怎么做? 具体来说,我需要一种方法在我的源代码中包含 ORCFile 库(这是一个自定义的 Pig 实现)并使用 ORCFi
我是一名优秀的程序员,十分优秀!