在 Databricks 中访问一个列名为数字的 table
Access a table in Databricks whose column name is numeric
我有一个文件没有 header。
所以反过来,我创建的数据框默认为 headers (0,1,2,3)
例如下面的数据框:
df = pd.DataFrame(np.random.randint(0,100,size=(15, 4)))
然后我将这个 pandas df 转换为 spark one:
spdf = spark.createDataFrame(df)
所以这个数据框也有相同的列名 (0,1,2,3)
在此之后,我将使用创建 table(编写 df)
spdf.write.saveAsTable('default.testX')
现在这个 table,testX 有 headers 0,1,2,3
如图所示Describe testX
但是当我在做的时候Select 1 from testX
我无法访问该列,而是为我拥有的行数打印“1”。
如何告诉系统我正在尝试访问列。
df = pd.DataFrame(np.random.randint(0,100,size=(15, 4)),columns =[ 'col1', 'col2','col3', 'col4'])
spdf = spark.createDataFrame(df)
spdf.show()
使用列名获取您需要的数据
得到答案,
select `0`, `1` from testx
这是用 ` 符号包装列
我有一个文件没有 header。
所以反过来,我创建的数据框默认为 headers (0,1,2,3)
例如下面的数据框:
df = pd.DataFrame(np.random.randint(0,100,size=(15, 4)))
然后我将这个 pandas df 转换为 spark one:
spdf = spark.createDataFrame(df)
所以这个数据框也有相同的列名 (0,1,2,3)
在此之后,我将使用创建 table(编写 df)
spdf.write.saveAsTable('default.testX')
现在这个 table,testX 有 headers 0,1,2,3
如图所示Describe testX
但是当我在做的时候Select 1 from testX
我无法访问该列,而是为我拥有的行数打印“1”。
如何告诉系统我正在尝试访问列。
df = pd.DataFrame(np.random.randint(0,100,size=(15, 4)),columns =[ 'col1', 'col2','col3', 'col4'])
spdf = spark.createDataFrame(df)
spdf.show()
使用列名获取您需要的数据
得到答案,
select `0`, `1` from testx
这是用 ` 符号包装列