我试图搜索相当多,但只能在Spark SQL中找到add_month函数,所以最后在这里打开一个新线程.非常感谢有人提供的任何帮助.
我试图使用sqlContext将小时12,24和48添加到Spark SQL中的日期列.我使用1.6.1版本的Spark,我需要这样的东西:
SELECT N1.subject_id, '12-HOUR' AS notes_period, N1.chartdate_start, N2.chartdate, N2.text
FROM NOTEEVENTS N2,
(SELECT subject_id, MIN(chartdate) chartdate_start
FROM NOTEEVENTS
WHERE subject_id = 283
AND category != 'Discharge summary'
GROUP BY subject_id) N1
WHERE N2.subject_id = N1.subject_id
and n2.chartdate < n1.chartdate_start + interval '1 hour' * 12
Run Code Online (Sandbox Code Playgroud)
请注意最后一个用PostgreSql编写的子句,这是我在Spark SQL中需要的.我真的很感激我能得到的任何帮助.
谢谢.
我看过类似的线程,但似乎无法找到任何可以解决我的问题的东西.
我正在编写一个服务器,可以从客户端发送给它的路径发送图像(jpg)文件.我在C中使用send/recv函数.
我一次读取一个数据块的文件,然后将其发送到接收内容的客户端,并将它们写入某个位置以构建文件.
问题是'recv'没有收到'send'发送的字节数.
作为调试的一部分,我尝试了不同的缓冲区大小和'128'缓冲区大小不会给我任何问题,并且文件已成功传输和构建.
但是,对于'32'和'64'位缓冲区,'recv'在最后一个块接收'32'位或'64'位数据,即使服务器发送的数据小于'32'位或' 64位.并且,对于'256','512','1024'等等,'recv'在完全一个响应中仅返回'128'位,即使服务器发送完整的块,即'256'或'512',取决于缓冲区大小.
我会感谢任何有关调试的建议.以下代码仅适用于相关部分,但如果有人需要,我可以提供更多代码.
//客户代码
#define BUFFER_SIZE 4096
#define HEADER_LEN 512
const char * const scheme = "GETFILE";
const char* const method = "GET";
const char * const end_marker = "\\r\\n\\r\\n";
struct gfcrequest_t
{
int filelen;
char cport[12];
char servIP[50];
gfstatus_t ret_status;
char spath[1024];
int tot_bytes;
char filecontent[BUFFER_SIZE];
void (*fl_handler)(void *, size_t, void *);
void * fDesc;
void (*head_handler)(void *, size_t, void *);
void * headarg;
};
static pthread_mutex_t counter_mutex;
gfcrequest_t *gfc;
// get sockaddr, IPv4 …Run Code Online (Sandbox Code Playgroud)