sim*_*ple 0 hive apache-spark apache-spark-sql
我想找出表中每一列的数据类型?
例如,假设我的表是使用以下命令创建的:
create table X
(
col1 string,
col2 int,
col3 int
)
Run Code Online (Sandbox Code Playgroud)
我想做一个会输出如下内容的命令:
column datatype
col1 string
col2 int
Run Code Online (Sandbox Code Playgroud)
有这个命令吗?最好是在 SparkSQL 中。但是,如果没有,那么如何使用其他方式获取这些数据呢?我正在使用 Spark sql 查询 Hive 表。也许通过 HIVE 中的元数据?谢谢。
小智 5
您可以将 Hive 表作为 DataFrame 读取并使用 printSchema() 函数。
在 pyspark 回复中:
from pyspark.sql import HiveContext
hive_context = HiveContext(sc)
table=hive_context("database_name.table_name")
table.printSchema()
Run Code Online (Sandbox Code Playgroud)
在spark-shell repl(Scala)中类似:
import org.apache.spark.sql.hive.HiveContext
val hiveContext = new org.apache.spark.sql.hive.HiveContext
val table=hiveContext.table("database_name.table_name")
table.printSchema
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19246 次 |
| 最近记录: |