spark中hive表的显示

dfty9e19  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(335)

这个问题在这里已经有答案了

获取超过20行并在spark shell中显示列的完整值(2个答案)
两年前关门了。
我正在尝试读取spark 1.6.1中的配置单元表。一切都按要求进行,只有spark中的表格显示是有线的。配置单元表由100 mn个奇数记录组成。

import os
from pyspark import SparkContext
sc = SparkContext("local", "Simple App")
from pyspark.sql import HiveContext

hive_context = HiveContext(sc)

db= hive_context.sql("SELECT * FROM HIVE_DB.HIVE_TBL").show()

如您所见,我编写了查询以查看整个100mn条记录,但输出仍然是20条记录。我的问题:
这是spark 1.6.1的某种限制吗?
如果是,在更高版本的spark中是否排除了限制?
如果以上都没有,那么有没有办法更改此配置以查看任何记录?
我也试过下面的问题:

SELECT * FROM HIVE_DB.HIVE_TBL LIMIT 200

还是老样子。

5m1hhzi4

5m1hhzi41#

show() -仅显示20行。因此如果你指定 show() 到一个变量 db ,它将只有20个。
删除 show() 分配和使用期间 db.limit(n) 限制行数。

pdsfdshx

pdsfdshx2#

在scala中,下面的代码可以工作

import org.apache.spark.sql.hive.HiveContext
val sqlContext = new HiveContext(sc)
var db = sqlContext.sql("select *from database_name.table_name")
db.take(n).foreach(println)         #n, number of records

db = sqlContext.sql("select *from database_name.table_name").limit(n)

# n, number of records.

db.foreach(println);

相关问题