在spark 1.6.0视图中输入文件名

qjp7pelc  于 2021-06-01  发布在  Hadoop
关注(0)|答案(1)|浏览(344)

我不能用这个 input_file_name() spark 1.6.0视图中的函数。它在select语句或 df.withColumn("path", input_file_name()) ,但不是在视图中。
例如:

CREATE VIEW v_test AS SELECT *, input_file_name() FROM table

失败。当我使用 INPUT__FILE__NAME 相反。只是:

SELECT *, input_file_name() FROM table

按预期工作。这是已知的错误还是我做错了什么?ps:我可以在配置单元中创建视图,但无法从spark访问它,因为它失败时会出现相同的错误:未知函数。。。
更新:
我使用齐柏林飞艇和livy解释器和scalaapi。我在创建视图时从上面的查询中得到的错误是: invalid function input_file_name 我也尝试导入函数,但没有效果

mhd8tkvw

mhd8tkvw1#

你有 create a temp view 如下所示

df.registerTempTable("table")

然后使用 input_file_name() . 它会很好的工作。

sqlContext.sql("select *, input_file_name() from table")

对于spark的较新版本,可以使用以下api创建临时视图

df.createOrReplaceTempView("table")

我希望答案是有帮助的

相关问题