我正在使用jdbcin来连接到 SQL Server pyspark。为了将表转换为数据帧,我使用以下查询。
query="SELECT * FROM tablename"
df=sqlContext.read.format("jdbc").options(url="jdbc:sqlserver://{servername};database={dbname};user={uid};password={pwd}", dbtable=query).load()
Run Code Online (Sandbox Code Playgroud)
现在我需要连接到存储过程并使用相同的 JDBC。我在 pyodbc 中找到了一些答案,但由于我SQL Server和 pyspark 配置中的一些问题,我只希望使用 JDBC。
Stored procedure = exec name "a","b"
Run Code Online (Sandbox Code Playgroud)
我怎样才能实现这个目标?
我在聊天室显示消息列表,我正在使用RecycleView进行显示.我希望将视图设置为最近的消息(最后一条消息,列表中的最后一项)而不是第一项.我使用了smoothScrollToPosition但我不希望列表从头到尾滚动以查看最近的消息.我希望它像whatsapp一样,当点击聊天时会显示最后一条消息的视图.我怎样才能做到这一点?
package com.webapp.chat.activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.support.v4.content.LocalBroadcastManager;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.DefaultItemAnimator;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.android.volley.DefaultRetryPolicy;
import com.android.volley.NetworkResponse;
import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.RetryPolicy;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import …Run Code Online (Sandbox Code Playgroud) 我有一个数据框,其中包含类似于以下列的列表.所有列中列表的长度不相同.
Name Age Subjects Grades
[Bob] [16] [Maths,Physics,Chemistry] [A,B,C]
Run Code Online (Sandbox Code Playgroud)
我希望以这样的方式分解数据帧,以便获得以下输出 -
Name Age Subjects Grades
Bob 16 Maths A
Bob 16 Physics B
Bob 16 Chemistry C
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
如何在每次重复中添加新列的同时重复数据框中的值 n 次
我已经尝试并获得了 n 次重复值,但我无法弄清楚如何添加新列。这是我随机生成的温度的初始数据框 -
df1 =
temp
0 30
1 40
2 50
3 60
Run Code Online (Sandbox Code Playgroud)
我可以使用以下代码复制它 n 次 -
df2 = pd.DataFrame(np.repeat(df.values,2,axis=0))
现在我希望新的 df 有一个名为 city 的新列,并且每次新的重复都添加一个在以下列表中指定的不同值 -
cities = ['Bangalore', 'Hyderabad'] //no. of cities will be same as n
expected output -
df2 =
temp city
0 30 Bangalore
1 40 Bangalore
2 50 Bangalore
3 60 Bangalore
4 30 Hyderabad
5 40 Hyderabad
6 50 Hyderabad
7 60 Hyderabad
Run Code Online (Sandbox Code Playgroud)
我怎样才能得到这个
我有一些分区的配置单元表,它们指向镶木地板文件。现在每个分区都有很多小的镶木地板文件,每个大小约为 5kb,我想将这些小文件合并为每个分区的一个大文件。我怎样才能做到这一点来提高我的蜂巢性能?我尝试将分区中的所有镶木地板文件读取到 pyspark 数据帧,并将组合数据帧重写到同一分区并删除旧的。但出于某种原因,这对我来说似乎效率低下或初学者级别的类型。这样做的利弊是什么?而且,如果有任何其他方法,请指导我在 spark 或 pyspark 中实现它。
pyspark ×3
python ×3
dataframe ×2
android ×1
apache-spark ×1
hive ×1
pandas ×1
parquet ×1
sql-server ×1