问题标签 [hive-table]
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.
apache-spark - Spark DataFrame ORC Hive 表读取问题
我正在尝试在 Spark 中读取 Hive 表。以下是 Hive 表格式:
当我尝试使用带有以下命令的 Spark SQL 读取它时:
我收到以下警告:-
2002 年 7 月 18 日 18:02:02 WARN ReaderImpl:在 _col0、_col1、_col2、_col3、_col4、_col5、_col6、_col7、_col8、_col9、_col10、_col11、_col12、_col13、_col14 中找不到字段: _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24, _col25, _col26, _col27, _col28, _col29, _col30, _col31, _col32, _col33, _col34, _col35, _col36, _col37, _col38, _col39, _col40, _col41, _col42, _col43, _col44, _col45, _col46, _col47, _col48, _col49, _col50, _col51, _col52, _col53, _col54, _col55, _col56, _col57, _col58, _col59, _col60, _col61, _col62, _col63, _col64, _col65,_col66,_col67,
读取开始,但速度非常慢并且网络超时。
当我尝试直接读取 Hive 表目录时,出现以下错误。
org.apache.spark.sql.AnalysisException:无法解析给定输入列的“a”:[_col18,_col3,_col8,_col66,_col45,_col42,_col31,_col17,_col52,_col58,_col50,_col26,_col63,_col12,_col27, _col23, _col6, _col28, _col54, _col48, _col33, _col56, _col22, _col35, _col44, _col67, _col15, _col32, _col9, _col11, _col41, _col20, _col2, _col25, _col24, _49, col_64, _49, col_64 _col14,_col13,_col19,_col43,_col65,_col29,_col10,_col7,_col21,_col39,_col46,_col4,_col5,_col62,_col0,_col30,_col47,trans_dt,_col57,_col16,_col36,_col1,_col38, _col55,_col51,_col60,_col53];在 org.apache.spark.sql.catalyst.analysis.package$AnalysisErrorAt.failAnalysis(package.scala:42)
我可以将 Hive 表转换为 TextInputFormat 但这应该是我的最后一个选择,因为我想利用 OrcInputFormat 来压缩表大小。
非常感谢您的建议。
hadoop - 在 hive 中读取 tsv 格式文件的架构
我是hadoop的新手。我有 tsv 格式的数据,有 50 列,我需要将数据存储到配置单元中。如何在不使用读取时使用模式创建表语句手动创建表的情况下动态创建数据并将数据加载到表中?
hadoop - 我们可以检查 hive 删除表的历史记录或它周围的详细信息吗?
我遇到过一种情况,有人错误地从生产环境中删除/删除了配置单元表。
如何跟踪历史记录并获取详细信息,即(谁已删除以及何时删除)。
有什么建议么?
java - 将 hive 外部表更改为同一数据库中的内部表也会从另一个表中删除数据
我一直在尝试使用该语句删除一个配置单元外部表
更改表 $tableName 设置 tblproperties('EXTERNAL' = 'FALSE');
在我通过这些属性并执行
删除表表名;
此命令还会从该数据库中的其他配置单元表中删除数据。
请任何人都可以建议我为什么这样做?如果有任何方法我们只能删除提到的一个外部表而不会丢失其他数据。
hadoop - 创建外部临时表时在 Hive 中使用 SQL 保留字
我需要从 hdfs 位置创建一个外部配置单元表,其中文件中的一列具有保留名称(结束)。
运行脚本时出现错误:“无法识别列规范中'end''STRUCT''<'附近的输入”
我找到了 2 个解决方案。
第一个是设置hive.support.sql11.reserved.keywords=false,但是这个选项已经去掉了。 https://issues.apache.org/jira/browse/HIVE-14872
第二种解决方案是使用带引号的标识符 ( column
)。
但在这种情况下,我收到错误:“org.apache.hadoop.hive.serde2.SerDeException: org.codehaus.jackson.JsonParseException: Unexpected character ('c' (code 99)): was expecting comma to separate OBJECT entries”
这是我创建表的代码:
无法重命名该列。
有人知道这个问题的解决方案吗?或者可能有什么想法?提前非常感谢!
sql - 无法使用 spark SQL 创建表:创建 Hive TABLE (AS SELECT) 需要 Hive 支持;
我正在尝试在 spark (scala) 中创建一个表,然后从两个现有数据帧中插入值,但我得到了这个异常:
这是代码:
我该如何解决?
hadoop - 创建 Sqoop Hive 导入作业
我使用 Sqoop 成功地将 oracle 表的临时导入到 Hive 表中。现在我想使用我用于临时导入的确切参数创建并保存一个 Sqoop 作业。
但如果我说:
sqoop job --create myjob --import \
--connect jdbc:mysql://host.port/foo \
--username myUserName \
--password-file file:///myfile.pwd \
--table mytable \
--create-hive-table \
--hive-import \
--hive-database my_hive_db \
--hive-table my_hive_table \
--fields-terminated-by '|' \
--hive-drop-import-delims \
--m 1
我收到一个错误:
19/03/05 14:56:41 ERROR tool.BaseSqoopTool: Error parsing arguments for job:
19/03/05 14:56:41 ERROR tool.BaseSqoopTool: Unrecognized argument: --import
19/03/05 14:56:41 ERROR tool.BaseSqoopTool: Unrecognized argument: --connect
19/03/05 14:56:41 ERROR tool.BaseSqoopTool: Unrecognized argument: jdbc:mysql:@host:port/foo
如果我删除所有 \ 它仍然无法正常工作。
如何使用 Hive 导入的所有必要参数定义 Sqoop 作业?
hadoop - AVRO 文件上的 Hive 外部表只为所有列生成 NULL 数据
我正在尝试Hive external table
在avro
使用spark-scala
. 我正在使用CDH 5.16
which has hive 1.1
, spark 1.6
.
我创建了hive external table
,运行成功。但是当我查询NULL
所有列的数据时。
我的问题与此类似
经过一些研究,我发现这可能是模式的问题。但是我在该位置找不到这些 avro 文件的架构文件。
我对avro
文件类型很陌生。有人可以在这里帮助我吗?
下面是我spark
将文件保存为的代码片段avro
:
下面是我的配置单元外部表创建语句:
以下是我查询数据时得到的结果:
select * from prod_order_avro
同时,当我使用as读取这些avro
文件并打印它们时,我得到了正确的结果。下面是我用来读取这些数据的代码:spark-scala
dataframe
spark
我的问题是,
- 在创建这些
avro
文件时,我是否需要更改我的spark
代码以单独创建架构文件,或者将其嵌入
文件中。如果需要分开,那么如何实现呢? - 如果不是如何创建
hive
表,以便自动从文件中检索架构。我读到,如果文件中存在架构,则在最新版本中,hive 会自行解决此问题。
请在这里帮助我