小编Ale*_*zis的帖子

何时缓存DataFrame?

我的问题是,我什么时候应该做dataframe.cache()以及何时有用?

另外,在我的代码中,我应该在注释行中缓存数据帧吗?

注意:我的数据帧是从Redshift DB加载的.

非常感谢

这是我的代码:

def sub_tax_transfer_pricing_eur_aux(manager, dataframe, seq_recs, seq_reservas, df_aux):
    df_vta = manager.get_dataframe(tables['dwc_oth_v_re_v_impuesto_sap_vta'])
    df_cpa = manager.get_dataframe(tables['dwc_oth_v_re_v_impuesto_sap_cpa'])

    dataframe = dataframe.filter(dataframe.seq_rec.isin(seq_recs)) \
        .filter(dataframe.seq_reserva.isin(seq_reservas))

    ##################################################
    #SHOULD I CACHE HERE df_vta, df_cpa and dataframe
    ##################################################

    dataframe = dataframe.join(df_vta, [dataframe.ind_tipo_imp_vta_fac == df_vta.ind_tipo_imp_vta,
                                        dataframe.cod_impuesto_vta_fac == df_vta.cod_impuesto_vta,
                                        dataframe.cod_clasif_vta_fac == df_vta.cod_clasif_vta,
                                        dataframe.cod_esquema_vta_fac == df_vta.cod_esquema_vta,
                                        dataframe.cod_empresa_vta_fac == df_vta.cod_emp_atlas_vta,
                                        ]).drop("ind_tipo_imp_vta", "cod_impuesto_vta", "cod_clasif_vta",
                                                "cod_esquema_vta", "cod_emp_atlas_vta") \
        .join(df_cpa, [dataframe.ind_tipo_imp_vta_fac == df_cpa.ind_tipo_imp_cpa,
                       dataframe.cod_impuesto_vta_fac == df_cpa.cod_impuesto_cpa,
                       dataframe.cod_clasif_vta_fac == df_cpa.cod_clasif_cpa,
                       dataframe.cod_esquema_vta_fac == df_cpa.cod_esquema_cpa,
                       dataframe.cod_empresa_vta_fac == df_cpa.cod_emp_atlas_cpa,
                       ]).drop("ind_tipo_imp_cpa", "cod_impuesto_cpa", "cod_clasif_cpa",
                               "cod_esquema_cpa", "cod_emp_atlas_cpa") \
        .select("seq_rec", …
Run Code Online (Sandbox Code Playgroud)

python apache-spark apache-spark-sql pyspark

7
推荐指数
3
解决办法
2万
查看次数

为什么要删除Spark执行程序(在日志中使用"ExecutorAllocationManager:请求删除executorIds")?

我试图在6个c4.2xlarge节点的AWS集群中执行spark工作,我不知道为什么Spark会杀死执行程序...任何帮助将不胜感激

这里的spark submit命令:

. /usr/bin/spark-submit --packages="com.databricks:spark-avro_2.11:3.2.0" --jars RedshiftJDBC42-1.2.1.1001.jar --deploy-mode client --master yarn --num-executors 12 --executor-cores 3 --executor-memory 7G --driver-memory 7g --py-files dependencies.zip iface_extractions.py 2016-10-01 > output.log
Run Code Online (Sandbox Code Playgroud)

在这一行,这一行开始删除执行程序

17/05/25 14:42:50 INFO ExecutorAllocationManager: Request to remove executorIds: 5, 3
Run Code Online (Sandbox Code Playgroud)

输出spark-submit日志:

Ivy Default Cache set to: /home/hadoop/.ivy2/cache
The jars for the packages stored in: /home/hadoop/.ivy2/jars
:: loading settings :: url = jar:file:/usr/lib/spark/jars/ivy-2.4.0.jar!/org/apache/ivy/core/settings/ivysettings.xml
com.databricks#spark-avro_2.11 added as a dependency
:: resolving dependencies :: org.apache.spark#spark-submit-parent;1.0
    confs: [default]
    found com.databricks#spark-avro_2.11;3.2.0 in central
    found org.slf4j#slf4j-api;1.7.5 in central
    found …
Run Code Online (Sandbox Code Playgroud)

hadoop-yarn apache-spark pyspark

4
推荐指数
1
解决办法
5602
查看次数

安卓。为什么 E/JavaBinder:BINDER 事务失败?

我读过很多关于此错误的帖子,其中大多数是关于管理图像的。

\n

但是当我停止应用程序(放入后台)时,我收到此错误,因此应该考虑内存中的数据......

\n

我没有在片段和活动的 onStop() 中执行任何操作。

\n

我已经检查了 onSaveInstanceState(final Bundle outState) 并且该包是空的... \xc2\xbf?

\n

我有 5 个对象的 ArrayList 并进行测试,我意识到如果我没有最大的一个,则不会抛出错误。

\n

我的应用程序将拥有比现在更多的数据,所以这是一个问题。

\n

谁能解释一下为什么我会得到这个以及我必须如何处理这个?

\n

错误:

\n
01-25 13:51:09.272 4940-4940/com.cathedralsw.schoolteacher\nE/JavaBinder: !!! FAILED BINDER TRANSACTION !!!  (parcel size = 539984)\n\n--------- beginning of crash\n01-25 13:51:09.281 4940-4940/com.cathedralsw.schoolteacher E/AndroidRuntime: FATAL EXCEPTION: main\n  Process: com.cathedralsw.schoolteacher, PID: 4940\n  java.lang.RuntimeException: android.os.TransactionTooLargeException: data parcel size 539984 bytes\n      at android.app.ActivityThread$StopInfo.run(ActivityThread.java:4039)\n      at android.os.Handler.handleCallback(Handler.java:761)\n      at android.os.Handler.dispatchMessage(Handler.java:98)\n      at android.os.Looper.loop(Looper.java:156)\n      at android.app.ActivityThread.main(ActivityThread.java:6595)\n      at java.lang.reflect.Method.invoke(Native Method)\n      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:942)\n      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:832)\n   Caused by: android.os.TransactionTooLargeException: data …
Run Code Online (Sandbox Code Playgroud)

java performance android

3
推荐指数
1
解决办法
1万
查看次数

RecyclerView 在顶部添加项目并继续滚动

我有一个带有 RecyclerView 的 Fragment。它可以作为聊天使用。

我向后端请求最后 50 条消息,并将它们加载到回收站视图中

LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity());
layoutManager.setStackFromEnd(true);
recyclerView.setLayoutManager(layoutManager);

mAdapter = new ChatMessagesAdapter(recyclerView, messages, getActivity());
recyclerView.setAdapter(mAdapter);
recyclerView.getLayoutManager().scrollToPosition(messages.size()-1);

mAdapter.notifyDataSetChanged();
Run Code Online (Sandbox Code Playgroud)

然后,当我向上滚动时,我使用 OnScrollListener 请求更多消息并加载它们

messages.addAll(0, oldMessages);
mAdapter.notifyDataSetChanged();
mAdapter.setLoaded();
recyclerView.getLayoutManager().scrollToPosition((oldMessages.size()) -1);
Run Code Online (Sandbox Code Playgroud)

但是当我在第一次加载时设置了 recyclerView

layoutManager.setStackFromEnd(true);
Run Code Online (Sandbox Code Playgroud)

当我加载旧消息时,滚动将显示的第一个项目(在最后一个之前)移动到底部。

如何在顶部添加旧消息并继续滚动,就像第一次加载时项目就在那里一样?不将焦点移到底部

android android-recyclerview

2
推荐指数
1
解决办法
2559
查看次数

Android BottomNavigationView 重叠片段内容

我正在尝试聊天。MainActivity有一个ToolBarBottomNavigationVIew

聊天fragment有一个recyclerView,一个editTextImageButton,但是当我加载片段时BottomNavigationVIewEditText和重叠ImageButton

我不知道这是否重要,但在 Android Studio 中,该项目BottomNavigationVIew看起来比实际小,例如不像 ToolBar 也是我使用的android:layout_above="@+id/navigation",但它不起作用 在此处输入图片说明

在此处输入图片说明

我尝试了很多方法,但我做不到

活动_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_home"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <android.support.v7.widget.Toolbar xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
        app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/tv_parent_name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_weight="1"
                android:text="@string/parent_name"
                android:textSize="20sp" />


            <de.hdodenhof.circleimageview.CircleImageView xmlns:app="http://schemas.android.com/apk/res-auto"
                android:id="@+id/student_photo"
                android:layout_width="55dp"
                android:layout_height="55dp"
                android:layout_alignParentEnd="true"

                android:layout_alignParentRight="true"
                android:layout_gravity="right|center"
                android:onClick="onClick"
                android:padding="4dp"
                android:src="@drawable/foto"
                app:civ_border_color="@color/iron"
                app:civ_border_width="1dp" /> …
Run Code Online (Sandbox Code Playgroud)

android android-fragments

1
推荐指数
1
解决办法
4059
查看次数