Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Scala Spark仅读取特定列下的最后一行_Sql_Scala_Apache Spark_Pyspark - Fatal编程技术网

Sql Scala Spark仅读取特定列下的最后一行

Sql Scala Spark仅读取特定列下的最后一行,sql,scala,apache-spark,pyspark,Sql,Scala,Apache Spark,Pyspark,如何修改下面的代码以仅获取表中的最后一行,特别是键列下的值?原因是,这是一个巨大的表,我需要最后一行,特别是键值,来知道到目前为止它加载了多少。我不在乎还有什么其他内容 第1行: val df = spark.sqlContext.read.format("datasource").option("project", "character").option("apiKey", "xx").option("type", "tables").option("batchSize", "10000").

如何修改下面的代码以仅获取表中的最后一行,特别是
列下的值?原因是,这是一个巨大的表,我需要最后一行,特别是键值,来知道到目前为止它加载了多少。我不在乎还有什么其他内容

第1行:

val df = spark.sqlContext.read.format("datasource").option("project", "character").option("apiKey", "xx").option("type", "tables").option("batchSize", "10000").option("database", "humans").option("table", "healthGamma").option("inferSchema", "true").option("inferSchemaLimit", "1").load()
第2行:

df.createTempView("tables")
第3行:

spark.sqlContext.sql("select * from tables").repartition(1).write.option("header","true").parquet("lifes_remaining")

您可以在这样的数据框中使用orderBy,希望能有所帮助:

df.orderBy($"value".desc).show(1) 

键列类型是什么?您只需要按升序排列最后一个键吗?@LiorChaga它是值,整数形式的数字。在第2行之后添加它不会影响第2行的结果。你可以这样做:
df.orderBy($“value”.desc.).limit(1).write.option(“header”,“true”).parquet(“lifes_剩余”)
@LiorChaga为什么我们按
值而不是
列订购。还有其他值列也有
int
value必须复制粘贴@YashShah reply。是的,它应该按键列。我刚才给出了一个写“value”的例子。你应该使用“key”@YashShah。该列表在数据库中已经排序,我只需要
key
列中最后一行的值。我不想迭代这个表,我希望它只给出最后一行的值,这可能吗?