我目前正在尝试使用带有EMR的笔记本分析一些数据。我遇到的问题是,当我使用PySpark内核时,我无法弄清楚该如何包含特定的工件。具体来说,我正在尝试包含org.apache.spark:spark-sql-kafka-0-10_2.11:2.4.0,通常在启动PySpark环境时通过使用--packages在命令行中通常这样做论点。我是否必须包括Bootstrap操作?我不确定我什至会放在那里。任何帮助将不胜感激。
答案 0 :(得分:2)
我在reddit上询问,EMR团队的某人回答:
您可以使用#include <tuple>
#include <iostream>
#include <utility>
template <std::size_t... Idx>
auto make_index_dispatcher(std::index_sequence<Idx...>)
{
return [](auto&& f) { (f.template operator()<Idx>(), ...); };
} // ......................^^^^^^^^^^^^^^^^^^^^^^^^^^^^ modified lambda call
template <std::size_t N>
auto make_index_dispatcher()
{
return make_index_dispatcher(std::make_index_sequence<N>{});
}
template <typename Tuple, typename Func>
void for_each(Tuple&& t, Func&& f)
{
constexpr auto n = std::tuple_size<std::decay_t<Tuple>>::value;
auto dispatcher = make_index_dispatcher<n>();
dispatcher([&f, &t]<std::size_t I>() { f(std::get<I>(std::forward<Tuple>(t))); });
} // ..................^^^^^^^^^^^^^^^^^ template parameter added, argument removed
int main()
{
for_each(std::make_tuple(1, 42.1, "hi"), [](auto&& e) {std::cout << e << ","; });
}
块作为笔记本中的第一个单元格来指定其他程序包。您的情况如下所示:
%%configure
下面是加载了spark-avro的example notebook的屏幕截图。
(免责声明:EMR团队中的AWS员工?)