我正在尝试比较镶木地板文件的差异。一套是使用Apache Drill创建的,另一套是使用Apache Spark创建的。使用Drill创建的集合具有已知类型,因为转换使用create table作为显式转换类型。 Spark创建的集合使用RDD到镶木地板的简单保存并且更大。我想从Spark创建的镶木地板文件中获取类型,但无法使用Drill查询其架构。
我尝试过这样的事情:
use dfs.tmp;
SELECT COLUMN_NAME, DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = `tweet` AND TABLE_SCHEMA = `dfs.tmp`;
这些表没有以这种方式显示,但在我发出show files
命令时会显示。我对文档的理解是可以预期的,但我不知道如何查看镶木地板文件的数据类型。
答案 0 :(得分:1)
目前INFORMATION_SCHEMA可以显示视图和表but not for file-based data sources的数据类型。
TABLES表返回数据库中每个表或视图的表名和类型。 (类型表示TABLE或VIEW。)请注意,Drill不返回可用于在基于文件的数据源中查询的文件。相反,请使用SHOW FILES来探索这些数据源。
要比较类型,您可以在每列上使用typeOf函数(选择typeof(col1),...从t)或parquet tools来检查镶木地板文件。