在Hive中我想从表中动态提取信息,将其保存在变量中并进一步使用它.请考虑以下示例,其中我检索列var的最大值,并希望将其用作后续查询中的条件.
set maximo=select max(var) from table;
select
*
from
table
where
var=${hiveconf:maximo}
Run Code Online (Sandbox Code Playgroud)
但它不起作用
set maximo=select max(var) from table;
${hiveconf:maximo}
Run Code Online (Sandbox Code Playgroud)
向我展示了预期的结果.
这样做:
select '${hiveconf:maximo}'
Run Code Online (Sandbox Code Playgroud)
给
"select max(var) from table"
Run Code Online (Sandbox Code Playgroud)
虽然.
最好
当使用facet_grid时,如何根据数据中的因子对geom_segments进行着色?我的方法失败了,因为颜色的分配是错误的.
这是一些数据:
visual_data=data.frame(Values = 10:1, Words = c("yeah","what","is","up","and","how", "are", "things","for", "you"), group = c("a","b","a","b","a","b","a","b","a","b"), importance=c("#EF2A2A","#EF2A2A", "#E4FA11", "#E4FA11", "#E4FA11", "#E4FA11","#EF2A2A","#EF2A2A","#EF2A2A", "#E4FA11"))
Run Code Online (Sandbox Code Playgroud)
此代码创建一个图:
graphic=ggplot(visual_data, aes(xend=Values, x=0, y=reorder(Words, Values), yend=reorder(Words, Values))) +
geom_text(aes(x=Values, label=Values, hjust=-0.3), color="#389912",family="sans") +
geom_segment(size=4,colour=visual_data$importance) +
theme(axis.text=element_text(size=10,family="sans"),axis.title=element_text(size=13,face="bold",family="sans"),strip.text.y = element_text(size=12,family="sans"), plot.title=element_text(size=14,face="bold",family="sans")) +
facet_grid(group~., scales = "free")+
theme_bw()
graphic
Run Code Online (Sandbox Code Playgroud)
可以看出,"是"和"什么",例如,不共享相同的条形颜色,尽管它们应该根据我的数据规范.
有没有人解决这个问题?
我想转换具有特定格式的列表中的数据框(前面的最小示例)。对于下面的数据框,我希望得到一个包含 5 个元素的列表,每个元素都有一个包含 5 个元素的列表。
parameters = tidyr::expand(tibble(id=1:5, value = 1:5 * 2),id,value)
# A tibble: 6 x 2
id value
<int> <dbl>
1 1 2
2 1 4
3 1 6
4 1 8
5 1 10
6 2 2
result = base::split(parameters, list(parameters$id))
result = lapply(result, function(x) { x["id"] <- NULL; x })
Run Code Online (Sandbox Code Playgroud)
到目前为止,它的 id 是正确的(5 个元素),但不是其中的子元素。它给出了第一个元素
> a[1]
$`1`
# A tibble: 5 x 1
value
<dbl>
1 2
2 4
3 6
4 8
5 10 …Run Code Online (Sandbox Code Playgroud)